HTML 요소의 style 속성 | 1000 |
id로 선택된 요소 | 100 |
class로 선택된 요소 | 10 |
태그의 이름으로 선택된 요소 | 1 |
(1) Inline Box
(2) Block Box
-> line도 margin과 padding이 가능하지만 좌우에 대해서만 적용이 가능합니다.
(3) Inline-Block Box
div{margin:20px;} | 상하좌우에 모두 같은 값 적용합니다. |
div{margin:20px 30px;} | 상하 20px, 좌우 30px 값 적용합니다. |
div{margin:20px 10px 20px 10px;} | 상 우 하 좌 순서!( 위쪽부터 시계방향으로 이동합니다.) div{margin-top:20px; margin-right:10px; margin-bottom:20px; margin-left:10px;} 과 동일합니다. |
div{padding:20px;} | 상하좌우에 모두 같은 값 적용합니다. |
div{padding:20px 30px;} | 상하 20px, 좌우 30px 값 적용합니다. |
div{padding:20px 10px 20px 10px;} | 상 우 하 좌 순서!( 위쪽부터 시계방향으로 이동합니다.) |
div{box-sizing:content-box;} -> 요소 사이즈에 패딩과 테두리 포함 x
div{box-sizing:border-box;} -> 요소 사이즈에 패딩과 테두리 포함 o
px -> 스크린을 구성하는 작은 점
% -> 부모 요소를 기준으로 크기 설정
em/rem -> 부모 요소의 폰트 크기/루트 요소의 폰트 크기(root em)
-> 상위 요소의 크기 값에 em값을 곱하기
요소 간 복잡한 위계 관계가 있으므로 상위 요소를 일일이 정하는 것은 어렵습니다.
-> 최상위 요소인 <html>의 폰트 사이즈를 기준으로 크기를 설정해야 합니다.
<img> 태그 -> 이미지 넣을 때
<alt> 태그 -> 이미지 소스가 존재하지 않을 때 대체하는 텍스트
주어진 공간을 넘어가는 컨텐트를 어떻게 보여줄지를 제어합니다.
대표적인 중앙정렬 속성
margin: 0 auto; -> 위아래 여백은 없고 가로 중앙에 배치한다.
text-align: center; -> 부모 요소가 block이고 정렬하려는 자식 요소가 inline일 때
1. position
1. 기준을 잡는다. position
2. 이동시킨다. top | bottom | left | right
top | bottom | left | right
top | 요소의 position 기준에 맞는 위쪽에서의 거리(위치)를 설정 |
bottom | 요소의 position 기준에 맞는 아래쪽에서의 거리(위치)를 설정 |
left | 요소의 position 기준에 맞는 왼쪽에서의 거리(위치)를 설정 |
right | 요소의 position 기준에 맞는 오른쪽에서의 거리(위치)를 설정 |
position 속성
static -> 기준이 없습니다. (배치 불가능/기본값)
relative -> 요소 자기 자신을 기준으로 배치합니다. 기준점은 (원래 위치의) 요소의 왼쪽 위 모서리입니다.
absolute -> 부모(조상)요소를 기준으로 배치합니다. 기준점이 브라우저의 왼쪽 위 모서리입니다.
fixed -> 뷰포트 기준으로 배치합니다. 지정된 위치에 고정합니다.
위아래로 스크롤하더라도 브라우저 화면의 특정 부분에 고정되어 움직이지 않습니다.
sticky -> 스크롤 영역 기준으로 배치합니다. 브라우저 화면을 스크롤링할 때 따라붙습니다.
자식이 부모로부터 떠오릅니다. => margin을 없애버립니다.
float 속성을 갖는 요소는 html 문서에서 공간은 차지화되 다른 요소의 배치에 영향을 안 주는 요소가 됩니다.
float 속성을 사용하면서 가장 주의해야 할 점은 float 속성을 통한 정렬 후 항상 float에 대한 해제(clear)가 이루어져야 정상적으로 container에 item들이 정렬된 상태로 포함되어진다.
none | float 속성 x |
left | 대상 요소를 공중에 띄워 왼쪽에 배치하면서 다음에 오는 요소를 주변에 자연스럽게 배치합니다. |
right | 대상 요소를 공중에 띄워 오른쪽에 배치하면서 다음에 오는 요소를 주변에 자연스럽게 배치합니다. |
clear | float 속성을 해제할 때 사용하는 속성입니다. |
예시 1) float:left or right
div안의 복수개의 div는 수직정렬입니다. 이것을 수평정렬로 바꿉니다. 그리고 ul li태그로 생성된 수직 정렬 목록을 수평목록으로 바꿉니다.
예시 2)
이미지에 float="left"속성을 주면 이미지는 왼쪽으로 배치되고 뒤따르는 텍스트는 이미지를 감싸며 배치됩니다.
요소의 크기에 맞게 <img> 태그와 <video> 태그의 크기를 조정하는 방법으로 사용되는 속성입니다.
fill | 기본값, 요소에 크기에 맞게 꽉채워 보여줌, 필요한 경우 오브젝트가 늘어나거나 찌그러집니다. |
contain | 요소의 가로나 세로크기에 가능한 딱 맞춰져 크기가 조정되고, 비율은 고정된 상태입니다. 딱 맞추기 때문에 남는 공간이 발생할 수 있습니다. |
cover | 요소의 가로나 세로크기에 가능한 맞춰져 크기가 조정되고, 비율은 고정된 상태입니다. 개체 크기에 맞게 잘립니다. 가득 채울때까지 확대됩니다. |
none | 크기가 조정되지 않고 원본사이즈로 처리됩니다. 크면 잘리고, 작으면 남습니다. |
scale-down | 크기를 아무것도 지정되지 않거나 혹은 contain이 지정되어 있는 것처럼 변경됩니다. 이는 원본 크기보다 작아지는 결과를 보여줍니다. |
background-image
background-image: none | url | initial | inherit
none | 이미지를 배경으로 사용하지 않습니다. |
url | 이미지의 URL을 입력합니다. |
initial | 기본값으로 설정합니다. |
inherit | 부모 요소의 속성값을 상속받습니다. |
background-repeat
배경 이미지의 반복 여부와 반복 방향을 정합니다.
background-repeat: repeat | repeat-x | repeat-y | no-repeat | inherit
repeat : 가로 방향, 세로 방향으로 반복합니다.
repeat-x : 가로 방향으로 반복합니다.
repeat-y : 세로 방향으로 반복합니다.
no-repeat : 반복하지 않습니다.
initial : 기본값으로 설정합니다.
inherit : 부모 요소의 속성값을 상속받습니다.
background-position
position 속성을 이용하면 요소를 겹치게 놓을 수 있습니다. 이때 요소들의 수직 위치를 z-index 속성으로 정합니다. 값은 정수이며, 숫자가 클 수록 위로 올라오고, 숫자가 작을 수록 아래로 내려갑니다.
[추가 학습 가이드]
1. 이미지 object-fit 속성
2. 배경 이미지 관련 속성 background-image, background-repeat, background-position 등
3. z-index 속성
4. float/clear 속성 예제 찾아서 실습해보기
블로그 페이지 만들기 (0) | 2024.01.21 |
---|---|
display: block, inline-block (0) | 2024.01.21 |
이미지와 div 가운데 정렬, float: left로 <div> 가로 정렬 (1) | 2024.01.15 |
[CSS] transition, animation, flexbox, Tailwind CSS (0) | 2023.03.29 |
2주차 웹, HTML 기초, CSS 기초(03/20) (0) | 2022.04.28 |