技術(shù)資訊
CSS盒子模型的深入解讀
2016-09-20 16:43:47
本文章適合初級網(wǎng)站制作的web設(shè)計朋友,讓你對盒子模型有更近一步的理解。建議閱讀這篇文章之前你應(yīng)該對盒子模型html等基礎(chǔ)知識是有一定的了解,否則會讓你更加云里霧里。本文章更多的是教你在實戰(zhàn)過程中如何自如的控制盒子的寬度,如何用最恰當(dāng)?shù)姆椒ǘㄎ缓凶?,如何解決IE中盒子的種種bug,不會像很多的中文教程那樣,把盒子模型內(nèi)邊距,外邊距,如何定位等概念有條不紊的介紹一遍。
之所以翻譯這篇外國文章,是因為青島網(wǎng)站建設(shè)的程序員在學(xué)習(xí)的過程中也發(fā)現(xiàn),國外的教程和過內(nèi)的相比,它們授人以漁,更授人以魚 。不同于國內(nèi)教程有章有節(jié)有點有條目,他們的敘述方式更接近談話式的由淺入深……總而言之,目的在于給更多的初學(xué)者提供一點啟示和幫助,不必像我一樣走了許多彎路。
深入理解CSS盒子模型(The CSS Box Model)
如果你了解盒子模型(box model)的概念,了解它是如何決定某一個元素的最終尺寸的話,會有助你理解一個元素如何在網(wǎng)頁上定位的。盒子模型主要適用于塊級元素。順便提一個與此相關(guān)的概念:行內(nèi)布局模型(inline layout model)——定義了行內(nèi)元素是如何定位的,在行內(nèi)元素格式(InlineFormatting)中有具體說明
盒子的尺寸的計算(Calculating BoxDimensions)
在CSS2.1中,塊級元素只能是矩形形狀的。當(dāng)我們需要計算一個塊級元素的整體尺寸時,需要同時把內(nèi)容區(qū)域(content area)[注釋1]的長寬,連同此元素的外邊距,內(nèi)邊距,以及邊框都計算在內(nèi)
[注釋1]:此文章中頻繁提到content 和content area這兩個概念,雖然從字面上都可以理解為盒子中的內(nèi)容區(qū)域(content),但從后文的敘述來看,這兩個概念還是有區(qū)別的,到這篇文章發(fā)布為止,我還是對這兩者的區(qū)別有迷惑,希望有興趣閱讀原文的朋友能留言告訴我這兩者的區(qū)別,以便于我更正文中的錯誤。
我們可以通過聲明寬和高來定義一個元素的內(nèi)容(content)的寬度和高度。如果沒有做任何的聲明,寬度和高度的默認值將是自動(auto)
w3schools上對于盒子模型的圖示如下
在圖的下方有一段很重要的話Important: When you specifythe width and height properties of an element with CSS, you are just settingthe width and height of the content area.也就是說當(dāng)我們在css中設(shè)計一個塊級元素的width和height屬性時比如.box{width :100px; height:100px}時,其中的width 和height僅僅是對content部分設(shè)置的,即定義上圖中padding下虛線方框內(nèi)區(qū)域的長和寬。而不是內(nèi)容,內(nèi)邊距,邊框的總和(但在IE的早期版本包括IE6中,盒子模型的width和height卻恰恰是這樣定義的,盡管符合人們思考的邏輯,但是不符合規(guī)范,這會造成嚴重的問題)
對寬度為自動狀態(tài)的靜態(tài)(static)定位元素(即無定位),和相對定位(relatively positioned)元素來說,計算寬度的方法是,將他們包含塊(containing block)[注釋2]的寬度減去此元素的橫向的所有外邊距,內(nèi)邊距,邊框,滾動條。也就是說,從包含塊的寬度中除去元素的橫向外邊距,內(nèi)邊距,邊框,滾動條(如果存在的話)的寬度,所剩的值就是了。
[注釋2]:包含塊(containing block)。如果你知道絕對定位和相對定位的實現(xiàn)原理的話,這個注釋可以忽略。包含塊可以理解為一個矩形,而這個矩形的作用是為它里面包含的元素提供一個參考,內(nèi)部元素的尺寸和位置的計算往往是由該元素所在的包含塊決定的。例如在絕對定位中,距離它最近的已定位(position為fixed,relative或absolute)的祖先元素即為包含塊。這算比較初級的概念,不深究,請百度。
包含塊的定位屬性和尺寸被作為后代元素定位和尺寸計算的參考。盡管元素的定位必須遵從與他們的塊級元素來進行定位,但是他們也非受限于它。后代的元素也可以溢出包含塊。在大多數(shù)情況下, generated boxes[注釋3]通常扮演著子代元素包含塊的角色。想要充分了解包含塊的大量細節(jié)信息請點擊ContainingBlock。
近期更新
- [2023-07-26 14:17:28] 為品牌賦能,海外官網(wǎng)品牌數(shù)字化
- [2023-05-06 10:32:26] 青島網(wǎng)站建設(shè)公司,高端網(wǎng)站定制,一站式網(wǎng)站服務(wù)——力圖數(shù)字科技
- [2023-04-27 13:47:54] 高端定制網(wǎng)站建設(shè)——從滿足預(yù)期到走向卓越
- [2023-04-11 09:17:49] H5頁面設(shè)計開發(fā)——移動端傳播利器
- [2022-11-16 10:11:43] windows2012程序在哪
- [2022-04-14 11:01:47] 力圖數(shù)字科技配套網(wǎng)站服務(wù)支持
- [2021-05-18 10:14:11] 青島網(wǎng)站建設(shè)的流程
- [2021-04-29 10:14:38] 企業(yè)定制化官網(wǎng)建設(shè)項目
- [2021-03-05 10:34:45] 移動互聯(lián)時代房地產(chǎn)行業(yè)的微信小程序解決方案
- [2021-01-22 17:29:38] 微信小程序有哪些優(yōu)勢?為什么要開發(fā)微信小程序?
- [2021-01-08 17:28:04] 網(wǎng)站建設(shè)最容易忽略的人性化設(shè)計
- [2020-12-16 16:55:32] 建設(shè)一個常規(guī)的公司網(wǎng)站建設(shè)成本大概是多少?
延伸閱讀
- [2013-11-10 17:33:01] CSS3在網(wǎng)頁上的應(yīng)用效果與發(fā)展趨勢
- [2016-11-01 11:42:00] 為什么要使用DIV+CSS來設(shè)計、制作網(wǎng)站?
- [2013-12-31 12:30:29] div圓角和陰影以及鼠標(biāo)放上去白色圖層漸變CSS控制
- [2008-08-29 12:15:00] 用戶體驗要素模型和UCD流程
- [2019-08-05 10:00:45] 在瀏覽器中修改網(wǎng)頁
- [2018-01-05 10:43:22] 《響應(yīng)式Web設(shè)計:HTML5和CSS3實踐指南》——1.2節(jié)基于寬度百分比的圖像縮放
- [2015-11-17 15:16:13] 響應(yīng)式HTML5/CSS3網(wǎng)站模板
- [2009-02-28 15:14:00] 軟件設(shè)計中的現(xiàn)實模型
- [2009-04-14 11:20:00] 網(wǎng)站設(shè)計趨勢:立體盒子
- [2013-01-03 22:10:34] CSS3動畫應(yīng)用
- [2014-08-28 20:28:54] 網(wǎng)站前端頁面設(shè)計分析
- [2013-12-30 12:09:23] 圖片寬度自適應(yīng) 如何通過css控制
解決方案
輪胎行業(yè)網(wǎng)站設(shè)計解決方案 機械行業(yè)網(wǎng)站設(shè)計解決方案 房地產(chǎn)行業(yè)網(wǎng)站設(shè)計解決方案 科技企業(yè)網(wǎng)站設(shè)計解決方案 電子家電網(wǎng)站設(shè)計解決方案 食品行業(yè)網(wǎng)站設(shè)計解決方案 集團公司網(wǎng)站設(shè)計解決方案 企事業(yè)單位網(wǎng)站設(shè)計解決方案 外貿(mào)行業(yè)網(wǎng)站設(shè)計解決方案 健身運動網(wǎng)站設(shè)計解決方案 美容與化妝品網(wǎng)站設(shè)計解決方案 建筑設(shè)計行業(yè)網(wǎng)站設(shè)計解決方案 物流行業(yè)網(wǎng)站設(shè)計解決方案
TAGS關(guān)鍵字
網(wǎng)站品牌 企業(yè)網(wǎng)站 集團公司網(wǎng)站建設(shè) 手機端的網(wǎng)站 企業(yè)網(wǎng)站設(shè)計 色彩心理學(xué) 如何做網(wǎng)站優(yōu)化 青島輪胎網(wǎng)站設(shè)計 視覺靈感 搜索引擎蜘蛛 網(wǎng)頁設(shè)計 英文網(wǎng)站建設(shè) 網(wǎng)站設(shè)計趨勢 IT資訊 SEO優(yōu)化 青島網(wǎng)站建設(shè)公司哪家好 程序開發(fā) 網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè) 微官網(wǎng) 膠南網(wǎng)站建設(shè)公司 微信營銷的優(yōu)勢 php程序 青島抖音小程序開發(fā) 企業(yè)建站 青島高端網(wǎng)站建設(shè) 高端輪胎網(wǎng)站設(shè)計 搜索引擎 網(wǎng)站規(guī)劃 微網(wǎng)站 圖形網(wǎng)格