淺談CSS3 box-sizing 屬性 有趣的盒模型

盒模型的組成大家肯定都懂,由里向外content,padding,border,margin.
盒模型是有兩種標(biāo)準(zhǔn)的,一個是標(biāo)準(zhǔn)模型,一個是IE模型。
從上面兩圖不難看出在標(biāo)準(zhǔn)模型中,盒模型的寬高只是內(nèi)容(content)的寬高,
而在IE模型中盒模型的寬高是內(nèi)容(content)+填充(padding)+邊框(border)的總寬高。
css如何設(shè)置兩種模型
這里用到了CSS3 的屬性 box-sizing(默認(rèn)值:content-box)
/* 標(biāo)準(zhǔn)模型 */ box-sizing:content-box; /*IE模型*/ box-sizing:border-box;
content-box: 這是CSS2.1指定的寬度和高度的行為。指定元素的寬度和高度(最小/最大屬性)適用于box的寬度和高度。元素的填充和邊框布局和繪制指定寬度和高度除外
border-box: 指定寬度和高度(最小/最大屬性)確定元素邊框box。也就是說,對元素指定寬度和高度包括padding和border的指定。內(nèi)容的寬度和高度減去各自雙方該邊框和填充的寬度從指定的"寬度"和"高度"屬性計算
測試參考案例
理想中的效果和代碼如下圖:
.input { width: 146px; height: 36px; line-height: 36px; background: transparent; border: 2px solid #0D349A; color: #bdbdbd; padding-left: 10px; padding-right: 30px; font-size: 14px; box-sizing:content-box;(默認(rèn)的可不寫)}
應(yīng)用在有用 bootstrap框架 的項目中發(fā)現(xiàn)bootstrap.min.css 樣式里默認(rèn)box-sizing: border-box; 會干擾搜索框的寬高
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
這個屬性導(dǎo)致頁面出現(xiàn)的樣子:
.input { width: 146px; height: 36px; line-height: 36px; background: transparent; border: 2px solid #0D349A; color: #bdbdbd; padding-left: 10px; padding-right: 30px; font-size: 14px; box-sizing:border-box;}
這個時候想要實現(xiàn)理想中的效果必須把樣式調(diào)整成:
.input { width: 190px; height: 40px; line-height: 40px; background: transparent; border: 2px solid #0D349A; color: #bdbdbd; padding-left: 10px; padding-right: 30px; font-size: 14px; box-sizing:border-box;}
PS技巧: 當(dāng)一個容器寬度定義為 width:100%; 之后,如果再增加 padding 或者 border 則會溢出父容器,是向外擴(kuò)張的
如果使用該樣式,指定為box-sizing: border-box; 則 padding 和 border 就不會再溢出,而是向內(nèi)收縮的,這個效果感覺非常實用的
總結(jié)
以上所述是小編給大家介紹的淺談CSS3 box-sizing 屬性 有趣的盒模型 ,希望對大家有所幫助,如果大家有任何iwen歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
- 這篇文章主要介紹了css中background-clip屬性的作用,background-clip屬性的通俗作用就是指定元素背景所在的區(qū)域,對css中background-clip屬性的相關(guān)知識感興趣的朋友一起看2018-03-29
CSS3基于背景裁剪(background-clip)實現(xiàn)的文本標(biāo)題透視特效源碼
這是一款CSS3基于背景裁剪(background-clip)實現(xiàn)的文本標(biāo)題透視特效源碼。畫面上的外星球與飛船背景中央呈現(xiàn)出帶有背景剪切透視的文本視覺效果。同時可響應(yīng)鼠標(biāo)的移動呈2017-11-17CSS3中background-clip和background-origin的區(qū)別示例介紹
本文為大家介紹下CSS3中background-clip和background-origin的區(qū)別,感興趣的朋友可以參考下2014-03-10深入淺出CSS3 background-clip,background-origin和border-image教程
最近在準(zhǔn)備一個下學(xué)期參加比賽的概念網(wǎng)站,希望能用到CSS3的新特性,比如background的background-clip或background-origin或border-image。但僅僅是依靠w3schools上的文檔2011-01-27CSS3教程:background-clip和background-origin-CSS教程-網(wǎng)頁制作-網(wǎng)頁
原文:http://www.planabc.net/2008/04/14/background-clip_background-origin/ background-clip 和 background-origin 是 CSS3 中新加的 background module 屬性,用來2008-10-17詳解CSS3中的box-sizing(content-box與border-box)
這篇文章主要介紹了CSS3中的box-sizing(content-box與border-box)的相關(guān)資料,需要的朋友可以參考下2019-04-19- 一說到CSS的盒模型(Box model)我想很多人都會比較煩,特別是對于新手,然而這個Box model又是我們CSS運用中比較重要的一個屬性,box-sizing 屬性允許您以特定的方式定義匹2015-04-09
- 這篇文章主要介紹了CSS3屬性box-sizing使用指南,需要的朋友可以參考下2014-12-09
- CSS3 box-sizing屬性,在很多新手朋友來看是比較陌生的,接下來介紹CSS3 box-sizing使用及注意部分,感興趣的朋友可以了解下2013-01-08
解決CSS 中box-sizing與background-clip解決背景顯示范圍的問題
這篇文章主要介紹了CSS box-sizing與background-clip解決背景顯示范圍的問題,主要用這篇文章給大家做個記錄,避免大家遇到此類問題,感興趣的朋友跟隨小編一起看看吧2019-05-13