摘要:水平居中先給出結(jié)構(gòu)我是子元素方法將子元素轉(zhuǎn)換為行內(nèi)元素將子元素設(shè)置為這樣既可以像塊元素一樣設(shè)置盒模型,又可以像行內(nèi)元素一樣試用進(jìn)行居中將子元素設(shè)置為后,子元素為塊級元素,寬度為內(nèi)容寬度方法將子元素轉(zhuǎn)換為元素是塊級元素,寬度自適
水平居中
先給出HTML結(jié)構(gòu)
方法1. 將子元素轉(zhuǎn)換為行內(nèi)元素我是子元素
.par{ text-align: center; } .child{ background-color: tomato; display:inline-block; }
將子元素設(shè)置為inline-block這樣既可以像塊元素一樣設(shè)置盒模型,又可以像行內(nèi)元素一樣試用text-align:center進(jìn)行居中
將子元素設(shè)置為inline-block后,子元素為塊級元素,寬度為內(nèi)容寬度
方法2. 將子元素轉(zhuǎn)換為table.par{ } .child{ background-color: tomato; display:table; margin:0 auto; }
table元素是塊級元素,寬度自適應(yīng)為內(nèi)容寬度,所以通過display:table對子元素進(jìn)行轉(zhuǎn)換并設(shè)置塊元素居中標(biāo)配margin:0 auto
方法3. 使用position+transform組合.par{ position: relative; } .child{ background-color: tomato; width:300px; position: absolute; left:50%; transform: translateX(-50%); }
由于子元素是個塊級元素(div),默認(rèn)占滿父元素寬度,所以我們將子元素寬度設(shè)為300px
原理很簡單,先用絕對定位將子元素置于距父元素左邊界一半的位置,然后再將子元素向左移動自身的一半,達(dá)到居中效果
注意,position:relative將父元素設(shè)為子元素絕對定位的參照物
方法4. 利用flex布局的justify-content.par{ display:flex; justify-content: center; } .child{ background-color: tomato; }
由于flex-grow屬性默認(rèn)值為0,flex-basis屬性默認(rèn)值為auto,所以寬度為內(nèi)容寬度(在沒有設(shè)置指定值時,否則為指定值)
順便說一句,flex很強(qiáng)大
垂直居中高度為元素高度,就不指定具體值了
方法1. 父元素轉(zhuǎn)換為table-ceil.par{ height:500px; display:table-cell; vertical-align:middle; } .child{ background-color: tomato; }
子元素寬度為內(nèi)容寬度,父元素寬度為子元素寬度
方法2. 利用position+transform組合.par{ height:500px; position: absolute; } .child{ background-color: tomato; width:300px; position: absolute; top:50%; transform: translateY(-50%); }
不指定子元素寬度的話,子元素的內(nèi)容將縱向展示
方法3. 使用flex布局的align-items.par{ height:500px; display:flex; align-items:center; } .child{ background-color: tomato; width:300px; }水平垂直居中
上述兩種居中布局的結(jié)合
方法1. 使用inline-block+text-align+table-cell+vertical-align.par{ width:500px; height:500px; border:1px solid #ccc; text-align: center; display: table-cell; vertical-align: middle; } .child{ background-color: tomato; width:300px; display:inline-block; }方法2. 利用position+transform組合
.par{ width:500px; height:500px; border:1px solid #ccc; position: relative; } .child{ background-color: tomato; width:300px; position: absolute; left:50%; top:50%; transform: translate(-50%,-50%); }方法3. 使用flex布局
.par{ width:500px; height:500px; border:1px solid #ccc; display:flex; justify-content: center; align-items: center; } .child{ background-color: tomato; width:300px; }
有問題歡迎提問,實踐出真知
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/115974.html
摘要:本篇主要記錄揭秘一書中后面幾章的常用技巧。文字環(huán)繞的重點在于即文字圍繞著路徑來顯示。本篇主要記錄《CSS3揭秘》一書中后面幾章的常用技巧。 1、偽元素?fù)Q行 先看下HTML代碼,如下 當(dāng)愛的故事剩聽說 我找不到你單純的面孔 默認(rèn)顯示效果: 一般情況下,我們喜歡直接在第一個span元素后面加個換行符,但是它對于語義來說并不友好,或者將第一...
摘要:接下來我會以行列的圖片列表為列子介紹兩種常用的切圖方案布局布局首先來講布局的方法布局非常簡單,一般我會使用布局然后給每個元素定一個寬度并向左浮動。是不是很簡單詳細(xì)代碼可以參考下一篇文章圖片列表布局二關(guān)注作者吧 前端切圖的時候經(jīng)常會遇到圖片布局,初學(xué)者可能會比較生疏。接下來我會以3行3列的圖片列表為列子介紹兩種常用的切圖方案: showImg(https://segmentfault.c...
摘要:接下來我會以行列的圖片列表為列子介紹兩種常用的切圖方案布局布局首先來講布局的方法布局非常簡單,一般我會使用布局然后給每個元素定一個寬度并向左浮動。是不是很簡單詳細(xì)代碼可以參考下一篇文章圖片列表布局二關(guān)注作者吧 前端切圖的時候經(jīng)常會遇到圖片布局,初學(xué)者可能會比較生疏。接下來我會以3行3列的圖片列表為列子介紹兩種常用的切圖方案: showImg(https://segmentfault.c...
摘要:絕對底部前端掘金來自國外的設(shè)計達(dá)人,純,可以實現(xiàn)當(dāng)正文內(nèi)容很少時,底部位于窗口最下面。有效解決圖片使用單位邊角缺失的問題前端掘金起因在移動端使用布局時圖片也需要用單位。 CSS 絕對底部 - 前端 - 掘金來自國外的設(shè)計達(dá)人,純CSS,可以實現(xiàn): 當(dāng)正文內(nèi)容很少時,底部位于窗口最下面。當(dāng)改變窗口高度時,不會出現(xiàn)重疊問題。甚至,創(chuàng)造該CSS的人還專門成立一個網(wǎng)站介紹這個CSS底部布局方案...
摘要:理解中有這么幾個屬性方法斜拉縮放旋轉(zhuǎn)位移其實找到舊像素位置與新像素位置的關(guān)系就可以用表示。當(dāng)網(wǎng)格項目多于網(wǎng)格中的單元格或網(wǎng)格項目放置在顯式網(wǎng)格之外時,將創(chuàng)建隱式軌道。 理解transform:matrix matrix transform中有這么幾個屬性方法 skew(35deg)/*斜拉*/ scale(1, 0.5)/*縮放*/ rotate(45deg)/*旋轉(zhuǎn)*/ transl...
閱讀 3503·2021-11-24 09:39
閱讀 781·2019-08-30 14:22
閱讀 3031·2019-08-30 13:13
閱讀 2310·2019-08-29 17:06
閱讀 2918·2019-08-29 16:22
閱讀 1255·2019-08-29 10:58
閱讀 2427·2019-08-26 13:47
閱讀 1627·2019-08-26 11:39