오늘 CSS심화 수업을 해주신 분은 바로....!!! 🙈🙊🙈
그렇다... 내가 처음 독학으로 웹 FE에 뛰어들게 되며 몇 달동안 (인터넷으로^__^) 날 가르쳐주신 그 분....
여기서 뵙게되다니.. 저.. 많이 컸죠..? (코쓱..🤭)
남은 강의도 열심히 듣겠습니다!
사실 나는 엘리먼트 배치를 거의 flex 위주로 사용을 해왔는데, 그러다 보니 그 외 배치 및 배열 속성들을 css를 할 때마다 그때 그때 검색하며 속성의 개념들이 섞이곤 하였다.
다시 한번 차근차근! css 엘리먼트 배열 속성들을 정리해 보자.
clear : left(방향);
overflow : hidden;
container 요소 : ::after
가상요소 만들기 -> content:''; display:block; clear:both;
(양방향 모두 clear)
주의 | container 안에는 float
이 부여된 item만 있어야 한다! (겹침문제)
우측으로 정렬 시 우측에서 순서대로 배열됨 (방지 : container를 float:right
로 하고 내부는 float:left
로 정렬)
inline 요소에 float을 하면 자동으로 block으로 변환 됨
position : absolute
사용 시position : relative
transform: scale(1)
값이 들어있으면, 위치의 기준이 되어버림: 요소가 쌓이는 순서를 정하는 개념
z-index
relative, absolute, fixed, sticky
flex(item)
나 grid(item)
에서도 사용 가능z-index
의 기본값 = 0transform
: scale 등
opacity
absolute, fixed 사용 시 자동으로 block화 된다.
: 1차원 레이아웃 구조를 작업할 때 사용 됨
: 수평정렬, 수직정렬
부모와 자식에 따라 각각의 속성들이 지정된다.
display : flex
-> block ) 수직으로 쌓임, 가로로 최대한 늘어나려고 함display : inline-flex
-> inline ) 수평으로 쌓임, 가로로 최대한 줄어들려고 함row (행, 줄 - x축) <-> row-reverse (순서반대)
column(열, 칸 - y축) <-> column-reverse (순서반대)
: row
주 축은 x, 교차 축은 y: column
주 축은 y, 교차 축은 x: nowrap
(default) 줄바꿈을 하지 않는다.: wrap
줄바꿈을 한다.: wrap-reverse
줄바꿈을 한다. (순서반대): flex-start
(default): flex-end
(default): center
: space-between
: space-around
heignt : auto
인 경우 flex item은 교차축으로 최대한 늘어나려는 성질을 가지고 있다.: stretch
(default): flex-start
: flex-end
: center
: baseline
flex item 내부 문자를 기준으로 맞춤: stretch
(default): flex-start
: flex-end
: center
: space-between, space-around, space-evenly
justify-content와 동일 하나 기준 축이 교차 축:0
일 경우 container가 줄어들어도 item넓이 감소 X: auto
(default): (n)px
-> weight, height 사용 불가.container {
border: 4px solid;
display: flex;
}
.container .item {
width: 100px;
height: 100px;
background-color: orange;
font-size: 40px;
border: 2px solid;
flex-basis: 0;
flex-grow: 1;
}
.container .item:nth-child(2) {
flex-grow: 2;
}
flex: (grow) (shrink) (basis);
/* 아래 두값은 같지 않다! */
flex: 1;
flex: 1 1 auto;
0
이다. = auto
(default) 값이 아님: 0
(default): auto
(default) 상속: stretch
: flex-start
: flex-end
: center
: baseline
display: inline-flex;
인 container에 사용가능.container {
border: 4px solid;
display: inline-flex;
}
.container .item {
width: 100px;
height: 100px;
background-color: orange;
border: 2px solid;
margin-right: 10px;
}
.container .item:last-child {
margin-right: 0px;
}
위의 코드처럼 마지막 요소(last-child)에서만 속성 초기화를 하면 gap처럼 사용 가능하다!