flexbox의 기본 사용법
상위 요소보다 큰 하위 요소를 10개 준비
부모의 테두리를 넘어서는 10개의 div 태그를 준비해, 알기 쉽게 하기 위해서 색을 붙인다
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css">
<title>flexbox</title>
</head>
<body>
<div class="container">//親要素
//子要素10個
<div class="sample1">1</div>
<div class="sample2">2</div>
<div class="sample3">3</div>
<div class="sample4">4</div>
<div class="sample5">5</div>
<div class="sample6">6</div>
<div class="sample7">7</div>
<div class="sample8">8</div>
<div class="sample9">9</div>
<div class="sample10">10</div>
</div>
</body>
</html>
CSS는 요소 하나 하나에 색을 붙였기 때문에 CSS가 중복되어 버렸지만, 마지막 .container와 .sample (n)의 height에 주목해 주면 OK
style.css
/* ここは背景色を指定しているだけ */
.sample1 {
background-color: red;
}
.sample2 {
background-color: blue;
}
.sample3 {
background-color: aqua;
}
.sample4 {
background-color: yellow;
}
.sample5 {
background-color: greenyellow;
}
.sample6 {
background-color: palevioletred
}
.sample7 {
background-color: gray;
}
.sample8 {
background-color: royalblue;
}
.sample9 {
background-color: lightseagreen;
}.sample10 {
background-color :violet;
}
/* heightが400pxしかない親要素*/
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
}
/*重なれば親のheightを遥かに超えていく子要素たち*/
.sample1 ,.sample2 ,.sample3 ,.sample4 ,.sample5 ,.sample6 ,.sample7 ,.sample8 ,.sample9, .sample10 {
width: 100px;
height: 100px;
font-size: 400%;
}
index.html의 화면 표시를 확인하면 당연히 400px의 부모 요소(배경색이 피부색)에는 100px의 자식 요소가 4개밖에 들어가지 않고, 그보다 많은 div 요소는 테두리에서 튀어나와 버리고 있다.
부모 요소의 CSS 속성에 display: flex; 추가
드디어 부모 요소의 "container"에 flexbox 속성 추가
style.css...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;/*これを追加!*/
}
...
브라우저를 확인하면,,,
아이 요소가 늘어서 있었다! ! !
나는 지금까지 float: left;나 Bootstrap의 col,row를 사용해 가로 줄을 실현하고 있었습니다만 앞으로는 css에 한 줄 더하는 것만으로 좋을 것 같습니다.
덧붙여서 이번 블록 요소의 div에 대해서이므로 display 프로퍼티에 대해서 "flex"로 설정했습니다만, p태그등의 인라인 요소에 대해서는 "inline-flex"라고 지정할 수 있는 것 같습니다.
그 경우 inline-block + flex와 같은 효과가 된다고 합니다. (죄송합니다, 시도하지 않습니다.)
또 화면 사이즈를 줄여 봐도 부모 요소의 폭에 대응해 마음대로 축소해 준다.
또한 부모 요소에 flex-direction 속성을 설정해 봅니다.
row-reverse (오른쪽에서 왼쪽으로 가로 일렬로 정렬)
style.css...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;
flex-direction: row-reverse;
}
...
↓
늘어선 순서가 거꾸로 되었다.
flex-direction에 지정하는 프로퍼티에는 다음과 같은 것이 있다.
・row(초기값:왼쪽에서 오른쪽으로 가로 일렬로 늘어놓는다)
・column-reverse(오른쪽에서 왼쪽으로 가로 일렬로 늘어놓는다)
・column(위에서 아래로 세로 일렬로 늘어선)
・column-reverse(아래에서 위로 세로 일렬로 늘어선)
또한 부모 요소에 flex-wrap 속성을 설정해 봅니다.
style.css...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;
flex-direction: row;
flex-wrap: wrap;/*これを追加*/
}
...
↓
자식 요소의 크기는 줄어들지 않고 부모 요소의 프레임 내에 맞지 않으면 개행됩니다.
※화상은 브라우저 사이즈 축소시
flex-wrap에 지정하는 프로퍼티에는 이하와 같은 것이 있다.
・no-wrap(초기값:개행하지 않는다)
・wrap(부모 요소에 들어갈 수 없는 경우는 개행한다)
・wrap-reverse( 〃 아래에서 위로 개행한다)
마지막으로
이러한 조작은 어디까지나 기본적인 부분의 촉감이라고 생각하기 때문에, 응용적인 사용법에 대해서는 별도, 실천으로 사용하는 중에서 추기해 가고 싶습니다.
Reference
이 문제에 관하여(flexbox의 기본 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiroakiito/items/f8bc8819826f2ba55585
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;/*これを追加!*/
}
...
row-reverse (오른쪽에서 왼쪽으로 가로 일렬로 정렬)
style.css
...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;
flex-direction: row-reverse;
}
...
↓
늘어선 순서가 거꾸로 되었다.
flex-direction에 지정하는 프로퍼티에는 다음과 같은 것이 있다.
・row(초기값:왼쪽에서 오른쪽으로 가로 일렬로 늘어놓는다)
・column-reverse(오른쪽에서 왼쪽으로 가로 일렬로 늘어놓는다)
・column(위에서 아래로 세로 일렬로 늘어선)
・column-reverse(아래에서 위로 세로 일렬로 늘어선)
또한 부모 요소에 flex-wrap 속성을 설정해 봅니다.
style.css...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;
flex-direction: row;
flex-wrap: wrap;/*これを追加*/
}
...
↓
자식 요소의 크기는 줄어들지 않고 부모 요소의 프레임 내에 맞지 않으면 개행됩니다.
※화상은 브라우저 사이즈 축소시
flex-wrap에 지정하는 프로퍼티에는 이하와 같은 것이 있다.
・no-wrap(초기값:개행하지 않는다)
・wrap(부모 요소에 들어갈 수 없는 경우는 개행한다)
・wrap-reverse( 〃 아래에서 위로 개행한다)
마지막으로
이러한 조작은 어디까지나 기본적인 부분의 촉감이라고 생각하기 때문에, 응용적인 사용법에 대해서는 별도, 실천으로 사용하는 중에서 추기해 가고 싶습니다.
Reference
이 문제에 관하여(flexbox의 기본 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiroakiito/items/f8bc8819826f2ba55585
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
...
.container {
width: 98%;
height: 400px;
background-color: papayawhip;
display: flex;
flex-direction: row;
flex-wrap: wrap;/*これを追加*/
}
...
Reference
이 문제에 관하여(flexbox의 기본 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroakiito/items/f8bc8819826f2ba55585텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)