首先我們得要了解外容器與內容器,就是由一個大的div包住3個小的div,形成一個外容器與內容器的關西。
我們先介紹外容器container的屬性。
主要是:
我們一定要在外容器加上這條屬性,否則是沒有作用的。
排序的方向,決定了是從左往右水平,或是從上往下垂直,也可以相反過來,從右往左水平、或是從下往上垂直。
這是flex預設的排版方向,從左往右排。當然方向也可以透過調整屬性改變。
.container {
flex-direction: row | row-reverse | column | column-reverse;
}
排版的靠齊方式(預設水平),有點像word裡面的置中、靠左、靠右、平均分配。
.container {
justify-content: flex-start | flex-end | center | space-between | space-around;
}
總共會有這些屬性,大家可以去試試看,最常用的就是center置中。
一樣也是排版的靠齊方式,是交錯線(預設垂直)的部分,最常設定的也是center置中。
.container {
align-items: flex-start | flex-end | center | baseline | stretch;
}
例如:
.container{
justify-content:center;
align-items:center;
}
我們需要一個三個項目的版面。分別有圖片跟文字。
<body>
<div class="container">
<div class="item">
<img src="https://picsum.photos/seed/picsum/200/250 " alt="">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum ipsam eos, accusamus ipsum facilis mollitia, repellendus, eius maiores consequuntur non voluptates esse. Itaque odio laborum aperiam quae dignissimos, deleniti unde!</p>
</div>
<div class="item">
<img src="https://picsum.photos/seed/picsum/200/250" alt="">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum ipsam eos, accusamus ipsum facilis mollitia, repellendus, eius maiores consequuntur non voluptates esse. Itaque odio laborum aperiam quae dignissimos, deleniti unde!</p>
</div>
<div class="item">
<img src="https://picsum.photos/seed/picsum/200/250" alt="">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum ipsam eos, accusamus ipsum facilis mollitia, repellendus, eius maiores consequuntur non voluptates esse. Itaque odio laborum aperiam quae dignissimos, deleniti unde!</p>
</div>
</div>
</body>
這是一開始所呈現的,而我們要開始施展魔法了。
<style>
.container{
display: flex;
justify-content: center;
align-items: center;
}
.item{
width: 300px;
height: 250px;
margin: 10px;
}
img{
width: 100%;
height: 100%;
}
</style>
一個三欄的版面幾乎不用30秒完成了!記得要把圖片設定成滿版,才會占滿整個item的寬喔!
參考資料:https://wcc723.github.io/css/2017/07/21/css-flex/