본문 바로가기

퍼블리싱/HTML | CSS | Javascript

CSS - flexbox

아직 한번도 코딩할때는 적용해 보지 못한 flexbox. 레이아웃을 위해 CSS3부터 생긴 속성이다.

 

IE11부터 적용되어 아직은 대중적으로 사용하기엔 크로스 브라우징 문제가 있을듯 하다.

display속성의 값으로 사용된다.

 

display: flex;

display: -webkit-flex; //크롬을 위한것. flex속성에는 다 써주기.

 

이 값을 가지고 있는 부모 div 안에 있는 자식들은 자동으로 flex된다.

 

 

 

 

● flex-direction을 이용하여 가로로 정렬할지, 세로로 정렬할지도 정할수 있다.물론 이 값은 여전히 부모에게 주는것.

 

flex-direction : row; //가로정렬

flex-direction : row-reverse;

 

flex-direction : column; //세로정렬

flex-direction : column-reverse;

 

이걸 이용해서 가로로정렬할지, 세로로 정렬할지 정할 수 있다.

 

 

 

 

● 가로로 정렬할 때, 그 가로로 정렬하는 기준을 정하는 속성.

 

justify-content: flex-start;   //디폴트

justify-content: flex-end;   //부모되는 div의 오른쪽 끝부분 기준

justify-content: center;   //부모되는 div의 중앙 기준.

justify-content: space-between;   //부모되는 div 안에서 컨텐츠끼리 동일한 간격을 두고 떨어짐(부모div로부터의 간격도 같음)

justify-content: space-around;

 

 

● 세로로 정렬할 때, 그 기준을 정하는 속성. - 이떄, 안에 컨텐츠가 height값을 가지고 있지 않을수도 있음. 물론 가질수도 있고.

 

align-items : stretch; //디폴트. 컨텐츠가 height가 없으면 부모 div의 높이를 따라감.

align-items : flex-start; // 부모 div의 top기준, height가 없으면  height는 자동으로 가질수 있는 높이만가짐.

align-items : flex-end; //부모 div의 bottom기준, height가 없으면  height는 자동으로 가질수 있는 높이만 가짐

align-items : center; //부모 div의 middle기준, height가 없으면  height는 자동으로 가질수 있는 높이만 가짐

 

*align-content 속성도 있는데, 이건 flex-wrap과 짝꿍... 그때 쓰면됨. align-itemas와 값은 같음.

 

 

 

● 컨텐츠가 자기 넓이를 따라갈건지, 아니면 부모 넓이에 맞출건지 정하는 속성

 

flex-wrap : nowrap; //디폴트. nowrap됨 (자기넓이 무시하고 부모넓이 따라감)

flex-wrap : wrap; //필요한경우 자기 넓이 그대로 가져감

 

 

● flex값을 가진 부모 안에서 컨텐츠들의 순서 정하기

 

order: -1; //이렇게 숫자를 가지면 순서가 바뀜. z-index랑 비슷한 속성으로 이해하면 될듯. z-index는 쌓이는 순서? 라면 이거는 그냥 순서.

 

 

 

● 가로,세로정렬 !

 

flex속성가진 box안에서 margin: auto; 만 써주면 된다!

 

 

● 같은 컨텐츠라도 좀더 많이 영역을 가지고 싶은 경우

 

해당 content에

 

flex: 숫자 ; 이렇게 주면 된다. 이럴 경우, 예를들어 부모div안에 item1 , item2, item3이 있는데 item1이 다른 item들보다 두배의 영역을 가지고 싶다면,

 

item1{ flex: 2; }

item2 { flex: 1; }

item3 { flex: 1; }

 

이럴경우, 부모 div는 자동으로 4개로 나뉘어 지며 item1은 그중에 2만큼의 영역을 차지하게 된다.

 

 

 

https://www.w3schools.com/css/css3_flexbox.asp

 

 

728x90

'퍼블리싱 > HTML | CSS | Javascript' 카테고리의 다른 글

마우스우클릭방지 / 선택방지 / 드래그방지  (0) 2017.04.05
css rwd grid  (0) 2017.04.05
글자 아이콘, fontawsome  (0) 2017.04.04
background animate  (0) 2017.04.04
jquery-ui 2  (0) 2017.04.02