요소레벨(Element Level) : 태그가 어떻게 보여지는가?에 대한 구분
- 독립된 행을 갖는 요소 집합
- 크기 지정, 위치 조정 가능(*)
- 다른 블록 레벨 요소와 인라인 요소 포함 가능
p, h1~h6, ul, ol, li, div, table
등p, h, dt, address
같은 일부 요소는 다른 블록 포함 불가
.box {
border: 2px solid #00f;
}
<div class="box">
<p>블록 요소는 독립된 행을 가지는 요소입니다.</p>
<p>블록 요소는 독립된 행을 가지는 요소입니다.</p>
</div>
width
기본값 auto
-> 100%
라고 생각하기height
기본값 auto
-> 0
이라고 생각하기margin: auto;
를 줘도 중앙에 오지 않음 -> 그럼 어떻게 중앙에 오게 할까? width 값을 지정해주면 됨!.box1 {
border: 2px solid #00f;
margin: auto;
}
.box2 {
border: 2px solid #f00;
width: 300px;
margin: auto;
}
<div class="box1">블록 요소 default width = 100%</div>
<div class="box2">블록 요소 width = 300px</div>
.box {
border: 2px solid #00f;
height: 50px;
}
.box1 {
border: 2px solid #00f;
height: 30px;
width: 300px;
}
.box2 {
border: 2px solid #f00;
height: 50px;
width: 150px;
position: absolute;
top: 60px;
left: 175px;
}
<!-- 옳은 내용 -->
<p>
<a href="#">블록 레벨 요소는 포함할 수 없고 인라인 요소만 포함 가능</a>
</p>
<!-- 틀린 내용 -->
<a href="#">
<p>블록 레벨 요소는 포함할 수 없고 인라인 요소만 포함 가능</p>
</a>
<span>
태그 같은 인라인 태그를 display:block
의 속성을 줬다고 해서 <span>
태그 안에 블럭 요소인 <div>
태그를 포함할 수 있는게 아님p, h1~h6, ul, ol, li, div, table
등이 대표적p, h, dt, address
같은 일부 요소는 다른 블록에 포함 불가<!-- 옳은 내용 -->
<div>
<p>블럭 요소는 블럭 요소와 인라인 요소를 포함할 수 있다</p>
</div>
<!-- 틀린 내용 -->
<p>
<div>블럭 요소는 블럭 요소와 인라인 요소를 포함할 수 있다</div>
</p>
웹표준 검사를 하면 에러가 나는 것을 확인해 볼 수 있다.
- 범위 표시 요소의 집합
- 크기(예외:
img
), 위치 조정 불가- 블록 레벨 요소는 포함할 수 없고, 인라인 요소만 포함 가능
- 높이 속성 사용 불가
p, em, strong, img, span
등
<p>인라인 요소는 <a href="#">위치와 크기를</a> 지정할 수 없습니다.</p>
img
), 위치 조정 불가img
태그는 크기 조절 가능position
속성을 주게 되면 a
태그의 속성이 block
요소 강제로 바뀜!! a {
width: 200px;
height: 200px;
border: 2px solid #f00;
position: absolute;
left: 200px;
top: 600px;
}
inline
처럼 한 줄 배치에 block
요소의 margin, padding, width, height
값을 지정할 수 있게됨사소한 Tip
- 이탤릭체는 15도 기울어짐
- 속성 기본값은 반응형 웹사이트 만들 때 중요함 -> 기본값도 같이 공부하자!!
- 요소레벨은 레이아웃 공부할 때 매우 중요한 기본지식
- Element Level을 공부하면서 같이
display, overflow, flaot, box-sizing
에 대해서 공부하기