CSS中box-sizing屬性的理解與部分用法

來源:互聯網
上載者:User

標籤:style   blog   http   使用   strong   2014   問題   log   sp   

  今天看了一些關於box-sizing的一些資料,在這裡整理一下,希望也能對大家有所協助。

  box-sizing是CSS的一個屬性,很好的解決了盒模型的相關問題。CSS中的盒模型(Box model)分為兩派,一派是W3C的標準模型,一派是IE的傳統模型。那它們之間有什麼不同的呢?首先需要明確它們都是對元素計算尺寸的模型,具體說就是對元素的width,height,padding,border以及元素實際尺寸的計算關係;而不同的地方就在於兩者的計算方法不一至:(下面引用一些公式向大家展示一下兩者的不同之處)

W3C的標準盒模型

 

IE傳統盒模型(IE6以下不含IE6版本或“QuirksMode下IE5.5+”

  接下來直接看看box-sizing的應用吧。

box-sizing屬性可以分為兩個值:content-box(default),border-box。

content-box,border和padding不計算入width之內

border-box,border和padding計算入width之內

(注1:ie8+瀏覽器支援content-box和border-box;ff則支援全部三個值)

(注2:使用時,有些瀏覽器還是需要加上自己的首碼,Mozilla需要加上-moz-,Webkit核心需要加上-webkit-,Presto核心-o-,IE8-ms-)

栗子,接住:

<style type="text/css">
.content-box{
  -webkit-box-sizing:content-box;
  width: 100px;
  height: 100px;
  padding: 20px;
  border: 5px solid #E6A43F;
  background: blue;
}
.border-box{
  -webkit-box-sizing:border-box;
  width: 100px;
  height: 100px;
  padding: 20px;
  border: 5px solid #3DA3EF;
  background: yellow;
}
</style>

我是在Google下啟動並執行,所以加了-webkit-首碼,效果如下:

藍色加邊框:總寬150px,高150px

黃色加邊框:總寬100px,高100px

通過這一栗子,相信大家弄清楚了這兩個。與剛才給大家提及的兩派盒子模型聯絡看看,總結得出:content-box相當於W3C下的模式,而border-box則為傳統IE下的模式了。這樣大家就可以解決一些布局上的難題了吧。當然,box-sizing的更多實際運用,在這裡就不多說了,在次拋磚而已,獻上。

 

CSS中box-sizing屬性的理解與部分用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.