成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

CSS中盒模型用法的示例分析

CSS中盒模型用法的示例分析,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序定制開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體。

視覺類型的媒體根據(jù)CSS的視覺格式化模型(Visual formatting model)的規(guī)則來處理文檔樹中的元素,從而將(X)HTML轉(zhuǎn)化成制作者設(shè)計的樣子。

例如:

如何生成元素框;
處理各元素之間的關(guān)系;
根據(jù)框的尺寸、定位等CSS屬性來確定元素的位置等;
因此,要掌握使用CSS控制頁面內(nèi)元素的技巧,就需要深入了解框模型(Box Model)及視覺格式化模型的原理。

文檔樹中的元素都產(chǎn)生矩形的框(Box),這些框影響了元素內(nèi)容之間的距離、元素內(nèi)容的位置、背景圖片的位置等等。而瀏覽器根據(jù)視覺格式化模型(Visual formatting model)來將這些框布局成訪問者看到的樣子。

視覺格式化模型中也有“布局(layout)”的概念,但是這個與頁面設(shè)計經(jīng)常用到的類似“3行2列”或者“3行3列”中的“排版布局”的概念不同,視覺格式化模型中的“布局”是指每個元素該如何來顯示。

CSS 2.1中,一個控制框的布局可以根據(jù)三種定位方案:

常規(guī)流向。CSS 2.1中,常規(guī)流向包含塊框的塊格式化,行內(nèi)框的行內(nèi)格式化,塊框或行內(nèi)框的相對定位,以及插入框的定位。
浮動。在浮動模型中,一個框首先根據(jù)常規(guī)流向布局,再將它從流中取出并盡可能地向左或向右偏移。內(nèi)容可以排列在一個浮動的邊上。
絕對定位。在絕對定位模型中,一個框整個地從常規(guī)流向中脫離(它對后續(xù)的兄弟元素沒有影響),并根據(jù)包含塊來分配其定位。
在理解視覺格式化的概念之前,要明確一點:包含塊(Containing Block)是視覺格式化模型的一個重要概念,它也可以理解為一個矩形,而這個矩形的作用是為它里面包含的元素提供一個參考,元素的尺寸和位置的計算往往是由該元素所在的包含塊決定的。

框模型(Box model,也譯作“盒模型”)是CSS非常重要的概念,也是比較抽象的概念。

文檔樹中的元素都產(chǎn)生矩形的框(Box),這些框影響了元素內(nèi)容之間的距離、元素內(nèi)容的位置、背景圖片的位置等等。而瀏覽器根據(jù)視覺格式化模型(Visual formatting model)來將這些框布局成訪問者看到的樣子。

因此,要掌握使用CSS布局的技巧,就需要深入了解框模型和視覺格式化模型的原理。

瀏覽器內(nèi)顯示的元素都可以看作是一個裝了東西的矩形的盒子,這些矩形的盒子嵌套、疊加或者并列在一起,形成了頁面。

提示:“box model”往往被譯為“盒模型”。但是盒子是具有厚度的,也就是說盒子是三維的,而框則沒有厚度,是二維的,因此本書采用了“框模型”這個譯法。

圖1顯示了每一個元素的“框(Box)”由幾部分組成:
CSS中盒模型用法的示例分析

內(nèi)容(content)
例如:文字、圖片或者其他元素等,內(nèi)容也可以看作是一個長方形的框,width(寬度)和height(高度)2個CSS屬性設(shè)定的就是內(nèi)容框的寬度和高度。
邊框(border)
邊框(也譯為邊界)是可以具體顯示出來的,可以設(shè)定寬度、外觀樣式和顏色。
補白(padding)
補白(也譯為填充、內(nèi)邊距、內(nèi)補丁等)是內(nèi)容框與邊框之間的距離,補白部分顯示的是背景。
邊距(margin)
邊距(也譯為邊白、外邊距、外補丁等)是邊框外的透明區(qū)域,用來設(shè)定本元素與其它元素之間的距離。
一個元素框,又有上、右、下、左四個方向的邊,如圖2所示。
CSS中盒模型用法的示例分析

由圖2大家可以發(fā)現(xiàn),1個元素所占的區(qū)域其實是由幾個矩形框組成:元素的內(nèi)容框、補白形成的框、元素的邊框以及邊距形成的框。這些框的邊緣又有如下定義:

元素內(nèi)容框的邊緣,稱為“內(nèi)容邊(content edge)”或“內(nèi)邊(inner edge)”,4條內(nèi)容邊形成“內(nèi)容框(content box)”。
補白形成的框的外邊緣,稱為“補白邊(padding edge)”,補白邊圍繞框的補白。如果補白寬度為0,則補白邊和內(nèi)容邊重合。4條補白邊形成“補白框(padding box)”。
邊框形成的框的外邊緣,稱為“邊框邊(border edge)”。如果邊框?qū)挾葹?,則邊框邊和補白邊重合。4條邊框邊形成“邊框框(border box)”。
邊距形成的框的外邊緣,稱為“邊距邊(margin edge)”或“外邊(outer edge)”,邊距邊圍繞框的邊距。如果邊距寬度為0,則邊距邊和邊框邊重合。4條邊距邊形成“邊距框(margin box)”。
內(nèi)容框的尺寸(寬度和高度)取決于若干個因素,例如:

產(chǎn)生框的元素是否設(shè)定了width屬性或height屬性;
框是否包含文本或其它框;
框是否是一個表格等等。
例如下列代碼(查看實例)其內(nèi)容框與框之間的關(guān)系,如圖3、圖4所示。

  1. * { margin:0; padding:0; color:#666;} /* 清除瀏覽器默認的樣式 */  

  2. div { border:4px solid #F90; background:#FC6;}   

  3. ul { list-style:none; margin:10px; padding:10px; background:#FC6;}   

  4. li { padding : 10px 0 10px 10px; background : #FF9;margin : 15px;}   

  5. .sample { margin-right:0; border:5px dashed #F90;}   

  6. <ul>   

  7.   <li>第1個li里面的示例文字示例文字</li>   

  8.   <li>第2個li里面的示例文字</li>   

  9. </ul>   

  10. <div>ul下面的div</div>  

CSS中盒模型用法的示例分析

CSS中盒模型用法的示例分析

由圖3和圖4,我們可以發(fā)現(xiàn):

元素的框?qū)挾?= 左邊距(margin-left) + 左邊框?qū)挘╞order-left-width) + 左補白(padding-left) + 內(nèi)容寬度(width) + 右補白(padding-right) + 右邊框?qū)挘╞order-right-width) + 右邊距(margin-right)
元素的框高度 = 上邊距(margin-top) + 上邊框?qū)挘╞order-top-width) + 上補白(padding-top) + 內(nèi)容高度(height) + 下補白(padding-bottom) + 下邊框?qū)挘╞order-bottom-width) + 下邊距(margin-bottom)
提示:關(guān)于margin在垂直方向重疊的情況,請參見本章[8.9.2.2 邊距的重疊]一節(jié)。

在IE 5.5及更早的版本,以及在怪異模式中的IE 6.0/7.0中,會錯誤地將框模型理解為:

width = border-left + padding-left + 內(nèi)容寬度 + padding-right + border-right
height = border-top + padding-top + 內(nèi)容高度 + padding-bottom + border-bottom
也就是說,錯誤的框模型把width和height理解為邊框框的寬度和高度,而不是內(nèi)容框的。(當然,很多人都認為這樣的設(shè)定更容易計算布局的尺寸。)

例如下列代碼:

  1. div { width:300px; margin:10px; padding:15px; border:5px solid #ccc;}  

則div的框?qū)挾葢?yīng)為360px(10px + 5px + 15px + 300px + 15px + 5px +10px),而在IE的錯誤框模型中,框的寬度為320px(10px + 300px +10px),實際的內(nèi)容寬度為260px(300px &ndash; 15px*2 &ndash; 5px*2)。

因此會造成元素尺寸顯示的不正確。

提示:在CSS 3中,制作者可以通過“box-sizing ”屬性來指定width和height的值應(yīng)用在內(nèi)容框或者邊框框上。

看完上述內(nèi)容,你們掌握CSS中盒模型用法的示例分析的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章名稱:CSS中盒模型用法的示例分析
文章分享:http://jinyejixie.com/article36/pocgsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站內(nèi)鏈、服務(wù)器托管做網(wǎng)站、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
昌乐县| 宣武区| 珠海市| 南开区| 余庆县| 新闻| 安达市| 枣阳市| 岳池县| 岳池县| 北流市| 乐清市| 西丰县| 赤城县| 葵青区| 庆城县| 德保县| 南安市| 锡林郭勒盟| 淮北市| 禄劝| 新邵县| 宁国市| 噶尔县| 万安县| 碌曲县| 金湖县| 孟村| 兰西县| 江津市| 邯郸县| 宜城市| 重庆市| 龙南县| 汝阳县| 楚雄市| 伊宁县| 汶川县| 南溪县| 石城县| 辽阳市|