CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊

日常工作時(shí),我們可能遇到這樣一個(gè)布局:一個(gè)父元素框框(隨著瀏覽器大小自適應(yīng)寬度)里面有許多按鈕,然后這些按鈕(寬度固定)的整體需要在父元素內(nèi)居中對(duì)齊,而按鈕整體的內(nèi)容又是從左往右排列。這里提供一個(gè)解決方法,示例如下:
有如下代碼:
<div class="wrap"> <button class="btn">1</button> <button class="btn">2</button> <button class="btn">3</button> <button class="btn">4</button> <button class="btn">5</button> <button class="btn">6</button> <button class="btn">7</button> </div>
對(duì)應(yīng)的CSS為:
.wrap { border: 2px solid black; margin: 0 auto; padding: 10px; width: 40%; } .btn { outline: none; border: none; width: 180px; height: 30px; background-color: cornflowerblue; margin: 5px; }
顯示的效果:
動(dòng)態(tài)變化寬度的情況:
可以看到,當(dāng)我們縮小瀏覽器窗口大小時(shí),父元素(黑框)的寬度會(huì)動(dòng)態(tài)調(diào)整,其子元素也會(huì)根據(jù)父元素的寬度動(dòng)態(tài)排列,但是按鈕組在父容器中是左對(duì)齊的,我們想要讓這個(gè)整體保持居中,可以通過(guò)如下方式實(shí)現(xiàn):
CSS代碼:
.wrap { border: 2px solid black; margin: 0 auto; padding: 10px; width: 40%; display: grid; grid-template-columns: repeat(auto-fill, 200px); justify-content: center; } .btn { outline: none; border: none; width: 180px; height: 30px; background-color: cornflowerblue; margin: 5px; }
將父元素display
屬性設(shè)置為grid
,然后grid列模板為自動(dòng)填充,寬度為200px
(這里寬度比單個(gè)按鈕元素稍大一點(diǎn)即可),然后設(shè)置justify-content
屬性值為center
使內(nèi)容水平居中。效果如下:
動(dòng)態(tài)變化的效果:
可以看到,在寬度變化的過(guò)程中,子元素整體一直是保持居中的。
單純用CSS實(shí)現(xiàn)這樣的效果,我只想到用grid來(lái)實(shí)現(xiàn)了,若你有其他方法,歡迎留言,一同學(xué)習(xí)~
提示:grid目前的兼容性不是很好,如果需要支持較老的瀏覽器版本,慎用哦!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
- 這篇文章主要介紹了css實(shí)現(xiàn)元素垂直居中顯示的7種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)2020-09-04
CSS實(shí)現(xiàn)子元素div水平垂直居中的示例
這篇文章主要介紹了CSS實(shí)現(xiàn)子元素div水平垂直居中的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2020-09-03- 這篇文章主要介紹了css 不定寬高的元素居中布局解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2019-09-18
- 這篇文章主要介紹了css常用元素水平垂直居中方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)2019-08-09
css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))
本文給大家分享幾種方法介紹css實(shí)現(xiàn)元素垂直居中的常用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-01- 在 CSS 中要設(shè)置元素水平垂直居中是一個(gè)非常常見(jiàn)的需求了。這篇文章主要介紹了CSS實(shí)現(xiàn)元素居中原理解析,本文分別從行內(nèi)元素和塊級(jí)元素進(jìn)行說(shuō)明,具有一定的參考價(jià)值,感興2018-10-18
- 作為前端攻城師,在制作Web頁(yè)面時(shí)都有碰到CSS制作水平垂直居中,我想大家都有研究過(guò)或者寫(xiě)過(guò),特別的其中的垂直居中,更是讓人煩惱,下面這篇文章主要給大家匯總介紹了關(guān)于2017-09-12
css實(shí)現(xiàn)元素水平垂直居中常見(jiàn)的兩種方式實(shí)例詳解
這篇文章主要給大家介紹了css實(shí)現(xiàn)元素水平垂直居中的兩種方式,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,有需要的朋友們下面來(lái)2017-04-23關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中
下面小編就為大家?guī)?lái)一篇關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-05