display는 요소의 인라인, 블록 속성을 바꿔줌
float을 사용하면 문서의 흐름에서 벗어나 상위 요소의 오른쪽이나 왼쪽에 붙는 형태로 배치됨
float을 사용하면 float을 사용하지 않은 요소들에게도 영향을 미침, 이를 방지하기 위해 float을 사용하지 않는 요소에 clear를 사용
left: 왼쪽 float 무시, right: 오른쪽 float 무시,
both: 양쪽 float 무시
position은 문서 상에 요소를 배치하는 방법을 정의하고
top, right, bottom, left 값으로 위치를 결정
요소를 이동시켰을 때 요소끼리 겹치는 경우 z-index 사용
요소의 쌓임 순서(stack order)를 정의
정수 값으로 쌓임 맥락(stacking context)의 레벨을 정의함
- stacking -> 먼저 쌓인게(index가 낮은 게) 밑으로
- position이 정해진 요소에 대해서만 사용해야함
콘텐츠의 양이 많아 요소의 영역 밖으로 벗어나 넘치는 경우 overflow를 사용
선택자 | 의미 | 사용기호 |
---|---|---|
속성 선택자 | 특정 속성을 명시하여 요소 선택 | [속성명] |
하위 요소 선택자 | 상위 요소에 포함된 하위 요소 중 모두 선택 | 공백 |
자식 요소 선택자 | 상위 요소의 바로 한 단계 아래 하위 요소 모두 선택 | > |
인접 형제 선택자 | 형제 요소 중 자신 다음에 있는 첫 번째 형제 요소 선택 | + |
형제 요소 선택자 | 자신 다음에 있는 모든 형제 요소 선택 | ~ |
예시)
/* width라는 속성에 2라는 값이 포함되어 있는 요소 선택*/
[width *= "2"]{
border: 5px dashed red;
}
/* width에 1로 시작하는 값을 가지고 있는 요소 선택 */
[width ^= "1"]{
border: 5px dashed red;
}
/* width에 0으로 끝나는 값을 가지고 있는 요소 선택 */
[width $= "0"]{
border: 5px dashed red;
}
형제 선택자는 자기 자신 다음에 있는 형제들에게만 적용됨
의사클래스(가상클래스)는 선택자에 추가하는 키워드로, 요소가 어떤 특정한 상태가 되었을 때 요소를 선택하겠다는 의미
예시)
/* h1 요소에 마우스가 올라오면 글자를 빨간색으로 변경 */
h1:hover{
color: red;
}
형제 사이에서의 순서에 따라 요소를 선택
의사요소는 선택자에 추가하는 키워드로, 선택한 요소의 특정 부분에 대한 스타일을 정의할 수 있음
예시)
/* li 요소의 첫 번째 글자만 크기를 20px로 바꿈 */
li::first-letter{
font-size: 20px;
}
예시)
/* a 요소 뒤에 "보기"라는 텍스트를 추가하고 색깔을 노란색으로 설정 */
a::after{
content: "보기";
color: yellow;
}