国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

理解水平居中的幾種表現

wanghui / 2238人閱讀

摘要:居中算是一個比較基礎的問題,在實際運用中,需要考慮到的一般是兩種情況,一種是主要是表現為文字,圖片等行內元素的居中,一種是指等塊級標簽元素的居中。

CSS居中算是一個比較基礎的問題,在實際運用中,需要考慮到的一般是兩種情況,一種是主要是表現為文字,圖片等行內元素的居中,一種是指 div 等塊級標簽元素的居中。

1.水平居中

?

text-align

【場景一】:在父元素中設置text-align:center實現行內元素水平居中

  將子元素的display設置為inline-block,使子元素變成行內元素

  [注意]若要兼容IE7-瀏覽器,可使用display:inline;zoom:1;來達到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,文字也居中顯示,所以需要在子元素中設置text-align:left

?

margin

【場景二】:在本身元素設置margin: 0 auto實現塊級元素水平居中

  將子元素的display為table,使子元素成為塊級元素,同時table還具有包裹性,寬度由內容撐開

  [注意]若要兼容IE7-瀏覽器,可把child的結構換成

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 }

  該方案的優點在于,只設置父級元素即可實現居中效果

?

【場景三】:若子元素定寬,則可以使用絕對定位的盒模型屬性,實現居中效果;若不設置寬度時,子元素被拉伸

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

【思路四】: 通過絕對定位的偏移屬性實現水平居中

  配合translate()位移函數

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

  [注意]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數值型的偏移屬性是相對于自身的,但百分比卻是相對于包含塊的。因為子元素已經被設置為absolute,所以若使用relative,則需要增加一層

結構,使其寬度與子元素寬度相同

  [注意]該方法全兼容,但是增加了html結構

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 }

?

【思路六】配合負margin

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

結構。由于寬度width的默認值是auto,當設置負margin時,width也會隨著變大。所以此時需要定寬處理

  [注意]雖然全兼容,但需要增加頁面結構及定寬處理,所以限制了應用場景

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實現水平居中

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

  在伸縮容器上設置主軸對齊方式justify-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 }

?

【思路八】在伸縮項目上設置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實現水平居中

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

  在網格容器上設置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 } 

?

【思路十】在網格項目中設置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 }

?

?

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/1703.html

相關文章

  • CSS垂直居中,你會多少種寫法?

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

    caohaoyu 評論0 收藏0
  • CSS開發

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

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

    摘要:前言我們在編寫馬過程中,想必大家對水平垂直居中的方法了解并不多。所以我給大家總結式的列出幾種常用的水平垂直居中的方法。 前言 我們在編寫馬過程中,想必大家對水平垂直居中的方法了解并不多。所以我給大家總結式的列出幾種常用的水平垂直居中的方法。 第一種方法 d第一種 .Centered1{ background-color: #800...

    Songlcy 評論0 收藏0
  • 未知寬度水平居中幾種方法

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

    shenhualong 評論0 收藏0
  • 未知寬度水平居中幾種方法

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

    raledong 評論0 收藏0

發表評論

0條評論

wanghui

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<