CSS Flex는 어떻게 사용하는가 ?
flex는 display: block; 과 달리 세로 방향으로 오는 것이 아니라 inline tag와 같이 가로형태로 contents가 나타내어지는 것이다. 근데 여기서 flex자체로는 block의 형태를 갖는다.
아래 처럼 자식태그를 사용함으로써 inline과 같이 사용이 가능하다는 점이다.
flex 설정을 위해서는 부모 태그에 container라는 클래스를 준다.
.container {
display: flex;
width: 500px;
height: 500px;
<body>
<div class="container">
<div class="item">d</div>
<div class="item">d</div>
<div class="item">d</div>
</div>
</body>
<style> .container { display: flex; width: 500px; height: 200px; } .item { width: 100px; } </style> </head> <body> <div class="container"> <div class="item">d</div> <div class="item">d</div> <div class="item">d</div> </div> </body>```
위 코드에서 볼 수 있는 것은 부모 태그의 height와 자식태그인 item class에 높이가 같아진다는 점이다. 자식태그의 flex의 높이를 따로 지정하지 않는다면, 부모태그의 height와 동일하다는 점이 중요하다.
.container {
display: flex;
flex-wrap: wrap;
}
inline-flex는 flex와 무엇이 다른가 ?
아래와 같이 빨간색의 inline-flex 두개가 수평선상에 놓이게 된다.
<style>
.container {
display: inline-flex;
border: 2px solid red;
width: 300px;
height: 300px;
margin: 50px;
}
.inlineflex {
width: 100px;
border: 1px solid blue;
}
</style>
<div class="container">
<div class="inlineflex">box</div>
<div class="inlineflex">box</div>
<div class="inlineflex">box</div>
</div>
<div class="container">
<div class="inlineflex">box</div>
<div class="inlineflex">box</div>
<div class="inlineflex">box</div>
</div>