오늘 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 : relativetransform: scale(1) 값이 들어있으면, 위치의 기준이 되어버림: 요소가 쌓이는 순서를 정하는 개념
z-index
relative, absolute, fixed, stickyflex(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: baselinedisplay: 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처럼 사용 가능하다!