[前端日記]0.x.1/Box-sizing

盒模型的過往


CSS在誕生之初套菜,盒模型的工作機(jī)制默認(rèn)如下:

【設(shè)置的寬度】:width + padding + border = actual visible/rendered width of an element's box
【設(shè)置的高度】:height + padding + border = actual visible/rendered height of an element's box

如此可見纵寝,我們在CSS中設(shè)置一個widthheight屬性庆亡,如果這個屬性有任何的padding或是border扣典,最終繪制在視圖上盒子的寬高(即實(shí)際可見的寬高)會加上我們設(shè)置的borderpadding值唆鸡。

這是相當(dāng)反直覺的設(shè)計(jì)兄裂,因?yàn)樽罱K呈現(xiàn)在屏幕上的盒子寬高與我們心目中預(yù)想的寬高有出入池凄! 這也在實(shí)際布局中造成了麻煩抡驼,這意味著我餓每年在調(diào)整寬高時必須時刻注意著元素的邊框和內(nèi)邊距!

但是在早些版本的IE瀏覽器(<=IE6)則采取了截然不同的處理方案肿仑,我們稱之為怪異模式致盟,他的工作機(jī)制如下:

box width = actual visible/rendered width of an element's box
box height = actual height/rendered height of an element's box

borderpadding值所占的幾何空間被移入了我們給出的寬高中,因此實(shí)際可見的盒子并不會擴(kuò)大尤慰,而是在內(nèi)部解決邊距馏锡、邊框和內(nèi)容區(qū)的計(jì)算。

在實(shí)際布局中割择,如果是固定寬度布局眷篇,就算是在默認(rèn)的盒子模型下也不會給我們造成太大的麻煩,只需要做一些簡單的算術(shù)運(yùn)算就可以把寬高計(jì)算出來荔泳,來適應(yīng)其內(nèi)邊距和邊框蕉饼。然而,寬高的算數(shù)值在響應(yīng)式設(shè)計(jì)之下則是無從計(jì)算的玛歌。

在響應(yīng)式設(shè)計(jì)已經(jīng)占據(jù)絕對主流的今天昧港,在設(shè)計(jì)師和工程師的期盼下,一種受到W3C官方認(rèn)可的盒子模型應(yīng)運(yùn)而出支子。

Box-sizing


CSS3的發(fā)布正式帶出了box-sizing创肥,它自帶了三個屬性值:box-sizingpadding-sizingborder-box值朋。其中叹侄,最常用的便是border-box

目前所有瀏覽器默認(rèn)的盒模型均是:

width or height + padding + border = actual width or height

  • 通過box-sizing: border-box;使盒模型修改為怪異模型的呈現(xiàn)方式昨登,即給出的寬高不再受到內(nèi)邊距和邊框的影響趾代,內(nèi)容區(qū)的實(shí)際寬度是給出的寬度 - (border + padding)。
  • contenr-box丰辣,給出的寬度僅僅是內(nèi)容區(qū)的寬度撒强,最終渲染后的盒子寬度要加上邊框和內(nèi)邊距。
  • padding-box笙什,給出的寬高包括內(nèi)容區(qū)與內(nèi)邊距飘哨,不包括邊框與外邊距。

須知


  1. 目前所有瀏覽器均支持box-sizing
  2. padding-box僅有firefox瀏覽器支持琐凭,且目前已經(jīng)被官方文檔移除
  3. 在IE8中芽隆,如果一個元素使用了Min/max-width/height,瀏覽器會自動忽略border-box
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胚吁,隨后出現(xiàn)的幾起案子臼闻,更是在濱河造成了極大的恐慌,老刑警劉巖囤采,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件述呐,死亡現(xiàn)場離奇詭異,居然都是意外死亡蕉毯,警方通過查閱死者的電腦和手機(jī)乓搬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來代虾,“玉大人进肯,你說我怎么就攤上這事∶弈ィ” “怎么了江掩?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長乘瓤。 經(jīng)常有香客問我环形,道長,這世上最難降的妖魔是什么衙傀? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任抬吟,我火速辦了婚禮,結(jié)果婚禮上统抬,老公的妹妹穿的比我還像新娘火本。我一直安慰自己,他們只是感情好聪建,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布钙畔。 她就那樣靜靜地躺著,像睡著了一般金麸。 火紅的嫁衣襯著肌膚如雪擎析。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天钱骂,我揣著相機(jī)與錄音叔锐,去河邊找鬼挪鹏。 笑死见秽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讨盒。 我是一名探鬼主播解取,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼返顺!你這毒婦竟也來了禀苦?” 一聲冷哼從身側(cè)響起蔓肯,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎振乏,沒想到半個月后蔗包,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慧邮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年调限,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片误澳。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡耻矮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忆谓,到底是詐尸還是另有隱情裆装,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布倡缠,位于F島的核電站哨免,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏昙沦。R本人自食惡果不足惜铁瞒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桅滋。 院中可真熱鬧慧耍,春花似錦、人聲如沸丐谋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽号俐。三九已至泌豆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吏饿,已是汗流浹背踪危。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猪落,地道東北人贞远。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像笨忌,于是被迫代替她去往敵國和親蓝仲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,734評論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color袱结,font亮隙,text-align,li...
    love2013閱讀 2,304評論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color垢夹,font溢吻,text-align,li...
    wzhiq896閱讀 1,732評論 0 2
  • 因?yàn)閻矍槟茏咴谝黄鹂隙ㄊ切疫\(yùn)的果元,在這種幸運(yùn)中帶來的幸福感必須要讓我們知道煤裙,一起生活后會出現(xiàn)的種種,遇到問題我們必須...
    Six_cloud閱讀 311評論 2 0
  • 昨晚做了一個夢,夢里我跟夢里的人說我在做夢欣硼。 我知道自己是在做夢题翰,所以在夢里遇見驚險的時刻也不害怕,只當(dāng)是一種體驗(yàn)...
    度厘喵兒閱讀 4,245評論 2 2