flexbox 기본 모양
<div class = "contanier">
<div class = "item">
<이미지 등등..>
</div>
<div class = "item">
<내용..>
</div>
</div>
FlexBox
정렬 태그
dispaly : flex;
컬럼들을 자동으로 맞춰줌
flex-direction : column;
row가 기본 값. column 하면 column 기준으로 모음. 쉽게 열 기준으로 모으니깐 ㅡ자 모양으로 데이터들이 정렬 됨.
flex-direction : row-reverse;
오른쪽 부터 채워줌. colum-reverse도 가능.
flex-wrap : wrap
인터넷 창이 컬럼보다 작아지면 자동으로 밑으로 내려감. bootstrap 처럼 여러 인터페이스 별로 적용할 때 용이하게 사용 가능해 보임. wrap-reverse 도 가능.(순서가 이상하게 바뀜.)
justify-content : flex-strat;(기본 값)
justify-content는 ㅡ(열)로(좌, 우) 배열할 때 열 안에서 item들의 위치를 조정하는 속성 값.
flex-center, end 존재. item들을 중앙, 오른쪽 정렬 가능.
flex는 없애도 괜찮.
space-between item들끼리 사이 여백을 주고 놔둠.
space-around between과 비슷하나 좌우 여백을 다 갖음.
여백(item1) item1 여백(item1) 여백(item2) item2 여백(item 2)
align-items : stretch;기본 값. justify-content과는 반대로 ㅡ 기준 item의 위치를 (상, 하)ㅣ으로 나눔.
flex-start item들을 위로 붙임.
flex-center, end등이 사용 가능.
flex는 없애도 괜찮.
한 가운데 두고 싶다면 align-items와 justify-content 를 둘 다 center로 하면 가능.
align-content : flex-start
flex-wrap : wrap;이어야 사용 가능.
인터넷 창을 줄이면 위로 붙음.
center, end 사용 가능.
space-between, around도 똑같이 존재. 여백.
item의 속성들
유동적인 화면 구성 flex
item의 정렬
- align-self : flex-start;
item 각각의 위치 정렬. aling이므로 상 하 정렬. center, flex-end 등 존재.
Grid
fr : 크기 단위로써 유연한 크기. 남은 공간을 숫자 비율로 나눠 갖음.
column 기준으로 40%, 60%로 쪼개서 아이템들 배열.
%대신 4fr 6fr 도 가능. 이걸 %보다 많이 씀. 그 이유는 %를 쓰면 grap같은걸 같이 쓰면 빈 공간이 생기는 경우가 존재하는데 fr은 그렇지 않다.
repete(3, 1fr); 사용 가능. 1fr씩 나눠 갖는걸 3번 반복한다.
1fr 1fr 1fr 이렇게 하는거랑 같은 방식.
200px 1fr 이렇게 하면 첫 부분은 200px로 고정되고 2번째는 1fr 만큼 유동적으로 크기 할당.
여기서 사용하는 숫자들은 맨 첫 부분을 1로 하고 grid 나눈 칸 마다 2 3 4... 늘어남.
ㅣaㅣbㅣcㅣ이렇게 나눴다면 a 왼쪽을 1로 시작해서 a오른쪽이자 b의 왼쪽을 2 b의 오른쪽이자 c의 왼쪽을 3 c의 오른쪽이자 마지막을 4로 본다.
1번부터 4번까지 차지하겠다. 숫자는 grid에서 나눈 값에 따라 달라짐. 첫 줄은 하나의 컨텐츠가 차지하고 두 번째는 2개씩만 넣고 할 때 사용.
ㅡ로 차지함.
FlexBox는 1차원의 개념으로 수직 or 수평 하나만 정해서 사용 가능.(ㅡㅡㅡㅡ만 하거나 ㅣ만 하거나..)
하지만 grid는 2차원적으로 접근하여 수직 수평을 동시에 적용할 수 있다. (ㅡ와ㅣ를 섞어서 사용 가능.)
짜투리 class vs id
class : 여러 값을 넣을 수 있음(space를 통해서). 중복된 이름 사용 가능.
id : 값 1개만 사용 가능. 중복된 이름 사용 불가능.
짜투리 div vs span
div : block 속성. -> < div> </ div>를 여러 개 쓰면 자동으로 다음 줄로 넘어감. 박스 형태(a라는 글자가 존재한다면 해당 줄 전체가 div 영역. 즉 아무 글씨도 없는 공간도 div영역.)
span : inline 속성. -> < span> </ span> 을 여러 개 써도 자동으로 다음 줄로 넘어가지 않음. inline 형태. a라는 글씨가 존재한다면 a만 span 범위. div는 그 외 공백도 쭉 div 공간이지만 a는 데이터가 존재하는 범위까지만 범위로 인식.
출처 : 1분 코딩 자료. 1분 코딩 블로그 주소 : https://studiomeal.com/blog