成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

理解水平居中的幾種表現(xiàn)

wanghui / 2240人閱讀

摘要:居中算是一個(gè)比較基礎(chǔ)的問題,在實(shí)際運(yùn)用中,需要考慮到的一般是兩種情況,一種是主要是表現(xiàn)為文字,圖片等行內(nèi)元素的居中,一種是指等塊級(jí)標(biāo)簽元素的居中。

CSS居中算是一個(gè)比較基礎(chǔ)的問題,在實(shí)際運(yùn)用中,需要考慮到的一般是兩種情況,一種是主要是表現(xiàn)為文字,圖片等行內(nèi)元素的居中,一種是指 div 等塊級(jí)標(biāo)簽元素的居中。

1.水平居中

?

text-align

【場(chǎng)景一】:在父元素中設(shè)置text-align:center實(shí)現(xiàn)行內(nèi)元素水平居中

  將子元素的display設(shè)置為inline-block,使子元素變成行內(nèi)元素

  [注意]若要兼容IE7-瀏覽器,可使用display:inline;zoom:1;來達(dá)到inline-block的效果

html代碼:

1 <div class="parent" style="background-color: gray;">
2 <div class="child" style="background-color: lightblue;">DEMOdiv>

css代碼:

1 .parent{text-align: center;}    
2 .child{display: inline-block;}

這種方法的不足之處在于,子元素的text-align繼承了父元素的center,文字也居中顯示,所以需要在子元素中設(shè)置text-align:left

?

margin

【場(chǎng)景二】:在本身元素設(shè)置margin: 0 auto實(shí)現(xiàn)塊級(jí)元素水平居中

  將子元素的display為table,使子元素成為塊級(jí)元素,同時(shí)table還具有包裹性,寬度由內(nèi)容撐開

  [注意]若要兼容IE7-瀏覽器,可把child的結(jié)構(gòu)換成

DEMO

html代碼:

1 <div class="parent" style="background-color: gray;">
2   <div class="child" style="background-color: lightblue;">DEMOdiv>
3 div>

css代碼:

1 .child{
2     display: table;
3     margin: 0 auto;
4 }

  該方案的優(yōu)點(diǎn)在于,只設(shè)置父級(jí)元素即可實(shí)現(xiàn)居中效果

?

【場(chǎng)景三】:若子元素定寬,則可以使用絕對(duì)定位的盒模型屬性,實(shí)現(xiàn)居中效果;若不設(shè)置寬度時(shí),子元素被拉伸

html代碼:

1 <div class="parent" style="background-color: gray;height: 20px;">
2     <div class="child" style="background-color: lightblue;">DEMOdiv>   
3 div>

css代碼:

 1 .parent{
 2     position: relative;
 3 }
 4 .child{
 5     position: absolute;
 6     left: 0;
 7     right: 0;
 8     margin: 0 auto;
 9     width: 50px;
10 }

?

absolute

【思路四】: 通過絕對(duì)定位的偏移屬性實(shí)現(xiàn)水平居中

  配合translate()位移函數(shù)

  translate函數(shù)的百分比是相對(duì)于自身寬度的,所以left:50%配合translateX(-50%)可實(shí)現(xiàn)居中效果

  [注意]IE9-瀏覽器不支持

html代碼:

1 <div class="parent" style="background-color: gray;height: 20px;">
2     <div class="child" style="background-color: lightblue;">DEMOdiv>
3 div>

css代碼:

1 .parent{
2     position: relative;
3 }
4 .child{
5     position: absolute;
6     left: 50%;
7     transform:translateX(-50%);
8 }

?

【思路五】relative數(shù)值型的偏移屬性是相對(duì)于自身的,但百分比卻是相對(duì)于包含塊的。因?yàn)樽釉匾呀?jīng)被設(shè)置為absolute,所以若使用relative,則需要增加一層

結(jié)構(gòu),使其寬度與子元素寬度相同

  [注意]該方法全兼容,但是增加了html結(jié)構(gòu)

html代碼:

1 <div class="parent" style="background-color: gray;height: 20px;">
2     <div class="childWrap">
3         <div class="child" style="background-color: lightblue;">DEMOdiv> 
4     div>   
5 div>    

css代碼:

 1 .parent{
 2     position: relative;
 3 }
 4 .childWrap{
 5     position: absolute;
 6     left: 50%;
 7 }
 8 .child{
 9     position: relative;
10     left: -50%;
11 }

?

【思路六】配合負(fù)margin

  margin的百分比是相對(duì)于包含塊的,所以需要增加一層

結(jié)構(gòu)。由于寬度width的默認(rèn)值是auto,當(dāng)設(shè)置負(fù)margin時(shí),width也會(huì)隨著變大。所以此時(shí)需要定寬處理

  [注意]雖然全兼容,但需要增加頁面結(jié)構(gòu)及定寬處理,所以限制了應(yīng)用場(chǎng)景

html代碼:

1 <div class="parent" style="background-color: gray;height: 20px;">
2     <div class="childWrap">
3         <div class="child" style="background-color: lightblue;">DEMOdiv> 
4     div>   
5 div>

css代碼:

 1 .parent{
 2     position: relative;
 3 }
 4 .childWrap{
 5     position: absolute;
 6     left: 50%;
 7 }
 8 .child{
 9     width:50px;
10     margin-left:-50%;
11 }

?

flex

【思路七】: 使用彈性盒模型flex實(shí)現(xiàn)水平居中

  [注意]IE9-瀏覽器不支持

  在伸縮容器上設(shè)置主軸對(duì)齊方式j(luò)ustify-content:center

html代碼:

1 <div class="parent" style="background-color: gray;">
2     <div class="child" style="background-color: lightblue;">DEMOdiv>   
3 div>

css代碼:

1 .parent{
2     display: flex;
3     justify-content: center;
4 }

?

【思路八】在伸縮項(xiàng)目上設(shè)置margin: 0 auto

html代碼:

1 <div class="parent" style="background-color: gray;">
2     <div class="child" style="background-color: lightblue;">DEMOdiv>   
3 div>

css代碼:

1 .parent{display: flex;}
2 .child{margin: 0 auto;}

?

grid

【思路九】: 使用柵格布局grid實(shí)現(xiàn)水平居中

  [注意]IE10-瀏覽器不支持

  在網(wǎng)格容器上設(shè)置justify-items或justify-content

html代碼:

1 <div class="parent" style="background-color: gray;">
2     <div class="child" style="background-color: lightblue;">DEMOdiv>
3 div>

css代碼:

1 .parent{
2     display:grid;
3     justify-items:center;
4     /*justify-content:center;*/
5 } 

?

【思路十】在網(wǎng)格項(xiàng)目中設(shè)置justify-self或者margin: 0 auto

html代碼:

1 <div class="parent" style="background-color: gray;">
2     <div class="child" style="background-color: lightblue;">DEMOdiv>
3 div>

css代碼:

1 .parent{
2     display:grid;
3 } 
4 .child{
5     justify-self:center;
6     /*margin: 0 auto;*/
7 }

?

?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/1703.html

相關(guān)文章

  • CSS垂直居中,你會(huì)多少種寫法?

    摘要:如果我們直接可以計(jì)算出正確的和值,豈不是一次到位函數(shù)正有此功能,當(dāng)然我們需要知道子元素的寬高效果是一個(gè)作用于內(nèi)聯(lián)元素的屬性。內(nèi)聯(lián)元素的特性是會(huì)和其它內(nèi)聯(lián)元素或者文字在同一行顯示,但是默認(rèn)情況下是與父元素基線對(duì)齊的。 ??CSS控制居中是前端開發(fā)中非常常用的布局技能,本文列出幾種CSS控制元素居中的幾種方法。??談及HTML元素居中展示,涉及到水平居中和垂直居中,以及水平垂直居中。由于H...

    caohaoyu 評(píng)論0 收藏0
  • CSS開發(fā)

    摘要:譯十六進(jìn)制顏色揭秘原文地址原文作者譯文出自掘金翻譯計(jì)劃本文永久鏈接教程入門篇關(guān)于是一款進(jìn)行柵格布局的輔助工具,它讓開發(fā)者擺脫了冗雜的數(shù)學(xué)計(jì)算,同時(shí)降低了樣式與結(jié)構(gòu)的耦合程度。 【譯】CSS 十六進(jìn)制顏色揭秘 原文地址:CSS Hex Colors Demystified 原文作者:Dave Gash 譯文出自:掘金翻譯計(jì)劃 本文永久鏈接:https://github.com/xitu/...

    warkiz 評(píng)論0 收藏0
  • html幾種水平垂直居中的方式(基礎(chǔ))

    摘要:前言我們?cè)诰帉戱R過程中,想必大家對(duì)水平垂直居中的方法了解并不多。所以我給大家總結(jié)式的列出幾種常用的水平垂直居中的方法。 前言 我們?cè)诰帉戱R過程中,想必大家對(duì)水平垂直居中的方法了解并不多。所以我給大家總結(jié)式的列出幾種常用的水平垂直居中的方法。 第一種方法 d第一種 .Centered1{ background-color: #800...

    Songlcy 評(píng)論0 收藏0
  • 未知寬度水平居中幾種方法

    摘要:在某些特定的場(chǎng)合,在沒有知道寬度的情況下卻要求水平居中,前段時(shí)間在寫分頁的時(shí)候碰到了這個(gè)問題。但即使我們沒有設(shè)置的寬度直接設(shè)置的外邊距就可以實(shí)現(xiàn)水平居中了這樣我們就可以通過設(shè)置水平居中間接使里面的內(nèi)容居中。轉(zhuǎn)自未知寬度水平居中的幾種方法 在某些特定的場(chǎng)合,在沒有知道寬度的情況下卻要求水平居中,前段時(shí)間在寫分頁的時(shí)候碰到了這個(gè)問題。當(dāng)時(shí)在網(wǎng)上找了一些解決方法,并選了一個(gè)最合適的方法,現(xiàn)將...

    shenhualong 評(píng)論0 收藏0
  • 未知寬度水平居中幾種方法

    摘要:在某些特定的場(chǎng)合,在沒有知道寬度的情況下卻要求水平居中,前段時(shí)間在寫分頁的時(shí)候碰到了這個(gè)問題。但即使我們沒有設(shè)置的寬度直接設(shè)置的外邊距就可以實(shí)現(xiàn)水平居中了這樣我們就可以通過設(shè)置水平居中間接使里面的內(nèi)容居中。轉(zhuǎn)自未知寬度水平居中的幾種方法 在某些特定的場(chǎng)合,在沒有知道寬度的情況下卻要求水平居中,前段時(shí)間在寫分頁的時(shí)候碰到了這個(gè)問題。當(dāng)時(shí)在網(wǎng)上找了一些解決方法,并選了一個(gè)最合適的方法,現(xiàn)將...

    raledong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

wanghui

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<