반응형
# 레이아웃
■ display
요소의 렌더링 박스 유형을 결정하는 속성
display: value;
none | 요소가 렌더링 되지 않음 |
inline | inline level 요소처럼 렌더링 |
block | block level 요소처럼 렌더링 |
inline-block | inline level 요소처럼 렌더링(배치)되지만 block level의 성질을 가짐 * height 나 width 등과 같은 박스모델 속성을 적용할 수 있다 |
display와 box model의 관계
display | width | height | margin | padding | border |
block | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ |
inline | X | X | 좌/우 | ㅇ(설명) | ㅇ(설명) |
inline-block | ㅇ | ㅇ | ㅇ | ㅇ | ㅇ |
■ visibility
요소의 화면 표시 여부를 지정
visibility: visible | hidden | collapse | initial | inherit;
visible | 화면에 표시 |
hidden | 화면에 표시되지 않음(공간은 차지함) |
collapse | 셀 간의 경계를 무시하고 숨김(테이블 관련 요소에만 적용 가능) |
visibility: visible; /* 보임 기본값 */
visibility: hidden; /* 숨김, 자신의 박스 영역은 유지(margin까지 모두 포함) */
visibility: collapse; /* 셀간의 경계를 무시하고 숨김(박스영역 없음, 테이블의 행과 열 요소에만 지정 가능, 그 외 요소 지정은 hidden과 같음) */
display: none과 차이점
- display: none: 요소가 렌더링 되지 않음(DOM에 존재하지 않음)
- visibility: hidden: 요소가 보이지는 않지만 렌더링 되며 화면에 공간을 가지고 있음(DOM에 존재함)
■ float
요소를 float(요소를 보통의 흐름에서 벗어나게 함) 시킬지 지정
float: none | left | right | initial | inherit;
none | float 시키지 않음(기본값) |
left | 좌측으로 float 시킴 |
right | 우측으로 float 시킴 |
■ clear
float를 선언하면 의도하지 않게 주변요소에게 영향을 주므로 clear를 선언해주는 것이 좋음
블록 라벨에만 적용되는 요소로 display:block; / claear:both; 가 많이 쓰임
clear: none | left | right | both | initial | inherit;
none | 양쪽으로 floating 요소를 허용(기본값) |
left | 왼쪽으로 floating 요소를 허용하지 않음 |
right | 오른쪽으로 floating 요소를 허용하지 않음 |
both | 양쪽으로 floating 요소를 허용하지 않음 |
■ position
요소의 위치를 정하는 방법을 지정
position: static | absolute | fixed | relative | sticky | initial | inherit;
static | Normal-flow 에 따라 배치되며 offset 값이 적용되지 않는다. (기본값) |
absolute |
|
fixed |
|
relative |
|
- Normal-flow 란? 일반적인 상황에서 각의 요소들의 성질에 따라 배치 되는 순서(흐름). 예를 들면, block 레벨 요소들은 상하로 배치되고, inline 레벨 요소들은 좌우로 배치되는 것
□ offset(top/left/right/bottom)
top|bottom|left|right: auto|length|initial|inherit;
top: 50%;
left: 10px;
bottom: -10px;
right: auto;
- offset의 %단위 사용 : padding과 margin에서 % 값을 적용할 때, 상하좌우 방향에 관계없이 가로 사이즈를 기준으로 %값을 계산. 그러나 offset은 top, bottom (상하)은 기준이 되는 요소의 height 값 / left, right (좌우) 는 width값에 대하여 계산되어짐.
■ z-index
요소가 겹치는 순서(쌓임 순서 또는 stack order)를 지정
z-index: auto | number | initial | inherit;
auto | 쌓임 순서를 부모와 동일하게 설정(기본값) |
number | 해당 수치로 쌓임 순서를 설정(음수 허용) |
z-index: 1;
- position 값이 static이 아닌 경우 지정가능
- 순서 값이 없을 경우 생성순서(코드상 순서)에 따라 쌓임
- 부모가 z-index 값이 있을 경우 부모 안에서만 의미있음
- 큰 값이 가장 위쪽(음수 사용 가능)
* 코드 유효성 검사 사이트
->마크업 문법상 에러가 없는지 표준에 맞게 작성되었는지 알 수 있고, 사용성과 접근성, SEO 최적화 개선할 수 있음
https://validator.w3.org/#validate_by_input
반응형