父盒子寬度不固定水平居中彈性佈局
grid佈局
最近開發遇到一個簡單的佈局需求,嘗試了幾次總達不到ui的需求;
需求如下:
1.父盒子寬度不固定,內部有多個寬度固定的子元素組成,要求父盒子水平居中,內部元素隨著寬度的變化,排列個數自動變化的彈性佈局;
2. 整個內容區域上下間隔之比為1:2;
很顯然這種佈局方式,單純的flex肯定是不滿足的,但是同樣的有另外一種表格佈局grid可以達到目的,二話不說直接上程式碼;
css部分:
.f{
display: flex;
flex-direction: column;
height: 100vh;
}
.t{
flex: 1 1 auto;
}
.parent{
display: grid;
grid-template-columns: repeat(auto-fill, 300px);
grid-row-gap: 20px;
grid-column-gap: 20px;
justify-content:center;
width: 100%;
overflow-y: auto;
flex: 0 0 600px;
}
.b{
flex: 2 2 auto;
}
.son{
width: 300px;
height: 400px;
background-color: blueviolet;
}
容器部分:
<div class="f">
<div class="t"></div>
<div class="parent">
<div class="son">son1</div>
<div class="son">son2</div>
<div class="son">son3</div>
<div class="son">son4</div>
<div class="son">son5</div>
<div class="son">son6</div>
<div class="son">son7</div>
<div class="son">son8</div>
<div class="son">son9</div>
</div>
<div class="b"></div>
</div>
關於屬性grid的相關知識。可以查閱阮一峰老師的部落格,很詳細;
參考文件:
1.CSS Grid 網格佈局教程
相關文章
- 兩列居中寬度固定佈局
- 一列固定寬度居中佈局
- app直播原始碼,css寬度不固定,水平居中APP原始碼CSS
- 元素水平垂直居中【彈性佈局 || Translate】
- flutter 父級寬度不固定,子集多個元素自動填充的佈局方案方法Flutter
- flex彈性佈局 垂直居中Flex
- CSS 佈局之水平居中佈局CSS
- 兩列居中寬度自適應佈局
- flex一欄寬度固定一欄寬度自適應佈局Flex
- 子元素固定寬度 父元素寬度被撐開
- 一列居中寬度自適應佈局
- 一列寬度固定一列寬度自適應佈局
- CSS佈局之水平居中和垂直居中CSS
- 不定寬度下,元素的垂直居中,水平居中
- 佈局總結-水平居中佈局的實現
- web前端學習筆記(CSS固定寬度佈局)Web前端筆記CSS
- flex佈局(彈性佈局)Flex
- css--常見左右盒子寬度高度自適應佈局CSS
- 彈性佈局(伸縮佈局)
- [css佈局1]不知寬高情況下,水平垂直居中的幾種方式CSS
- Html佈局左右寬度固定中間自適應解決方案HTML
- 2020-12-17 html、css面試題3: 水平垂直居中,左右固定中間自適應 三欄佈局,靜態佈局、自適應佈局、流式佈局、響應式佈局、彈性佈局,IE中常見的相容性問題,清空陣列的方法HTMLCSS面試題陣列
- flex彈性佈局 響應式佈局Flex
- css不定寬度元素水平居中程式碼例項CSS
- 水平垂直居中佈局的多種實現方式
- Flex-彈性佈局Flex
- display:flex 彈性佈局Flex
- CSS佈局 --- 居中佈局CSS
- flex彈性佈局實現元素垂直居中效果程式碼例項Flex
- [開發教程]第8講:Bootstrap把已有的固定寬度佈局轉換成響應式佈局boot
- 居中佈局、三欄佈局
- css之彈性佈局(flex)CSSFlex
- 彈性盒模型,flex佈局模型Flex
- CSS:彈性佈局(display:flex)CSSFlex
- flex佈局兩邊固定寬 中間自適應Flex
- 三列寬度自適應佈局
- Android 使用 TableLayout 佈局拉伸寬度Android
- L – 居中佈局