欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解CSS中的Box Model盒屬性的使用

可樂(lè)吧   發(fā)布時(shí)間:2015-08-31 18:00:17   作者:佚名   我要評(píng)論
這篇文章主要介紹了詳解CSS中的Box Model盒屬性的使用,包括彈性盒子模型的相關(guān)參數(shù),需要的朋友可以參考下

頁(yè)面上顯示的每個(gè)元素(包括內(nèi)聯(lián)元素)都可以看作一個(gè)盒子,即盒模型( box model )。請(qǐng)看 Chrome DevTools 里的截圖:

可以顯而易見(jiàn)的看出盒模型由 4 部分組成。從內(nèi)到外分別是:

content -> padding -> border -> margin
按理來(lái)說(shuō)一個(gè)元素的寬度(高度以此類推)應(yīng)該這樣計(jì)算:

總寬度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right
但是不同瀏覽器(你沒(méi)有猜錯(cuò),就是那個(gè)與眾不同的瀏覽器)對(duì)寬度的詮釋不一樣。符合 W3C 標(biāo)準(zhǔn)的瀏覽器認(rèn)為一個(gè)元素的寬度只等于其 content 的寬度,其余都要額外算。于是你規(guī)定一個(gè)元素:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .example {   
  2.     width200px;   
  3.     padding10px;   
  4.     border5px solid #000;   
  5.     margin20px;   
  6. }  

則他最終的寬度應(yīng)為:

 寬度 = width(200px) + padding(10px * 2) + border(5px * 2) + margin(20px * 2) =  270px;
而在 IE(低于IE9) 下,最終寬度為:

寬度 = width(200px) + margin(20px * 2) = 240px;
我個(gè)人覺(jué)得 IE 的更符合人類思維,畢竟 padding 叫內(nèi)邊距,邊框算作額外的寬度也說(shuō)不下去。W3C 最后為了解決這個(gè)問(wèn)題,在 CSS3 中加了 box-sizing 這個(gè)屬性。當(dāng)我們?cè)O(shè)置 box-sizing: border-box;  時(shí),border 和 padding 就被包含在了寬高之內(nèi),和 IE 之前的標(biāo)準(zhǔn)是一樣的。所以,為了避免你同一份 css 在不同瀏覽器下表現(xiàn)不同,最好加上:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. *, *:before, *:after {   
  2.   -moz-box-sizing: border-box;   
  3.   -webkit-box-sizing: border-box;   
  4.   box-sizing: border-box;   
  5. }  

 

這里還有兩種特殊情況:

無(wú)寬度 —— 絕對(duì)定位(position: absolute;) 元素
無(wú)寬度 —— 浮動(dòng)(float) 元素
它們?cè)陧?yè)面上的表現(xiàn)均不占據(jù)空間(脫離普通流,感覺(jué)像浮在頁(yè)面上層一樣,移動(dòng)它們不影響其他元素的定位)。

CSS3 Flexible Box Model

相關(guān)屬值:

box-orient 確定子元素的方向
box-flex  按比例分配父標(biāo)簽的寬度或高度空間。且值至少為1時(shí)起作用。當(dāng)子元素中有寬度值的時(shí)候,此元素就定寬處理,剩下的空間再按比例分配。
box-direction 用來(lái)確定子元素的排列順序
box-align 決定了垂直方向空間使用,也就是垂直方向上的對(duì)齊表現(xiàn)。
box-pack 決定了父標(biāo)簽水平空間的使用

語(yǔ)法:

box-align: start|end|center|baseline|stretch;
box-direction: normal|reverse|inherit;
box-flex: value;
box-flex-group: integer;
box-lines: single|multiple;
box-ordinal-group: integer;
box-orient: horizontal(水平) | vertical(垂直) | inline-axis | block-axis | inherit
box-pack: start|end|center|justify(兩端對(duì)齊);
box-sizing: content-box|border-box|inherit:
box-shadow: h-shadow v-shadow blur spread color inset;

例子:

使用靈活的盒模型容器內(nèi)平均分配子元素很容易:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .container {   
  2. display: box;   
  3. box-align: stretch;   
  4. box-orient: vertical;   
  5. }   
  6.   
  7. .container span{box-flex:1;}  

實(shí)例:CSS 3 Flexible Box Model

注意:

外層必須具有寬度。內(nèi)層必須具有BFC。

相關(guān)文章

  • 前端CSS Grid 布局示例詳解

    CSS Grid 是一種二維布局系統(tǒng),可以同時(shí)控制行和列,相比 Flex(一維布局),更適合用在整體頁(yè)面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋
    2025-04-16
  • CSS Padding 和 Margin 區(qū)別全解析

    CSS 中的 padding 和 margin 是兩個(gè)非常基礎(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細(xì)介紹 padding 和 margin 的概念、區(qū)別以及如何在實(shí)際項(xiàng)目中使用它們
    2025-04-07
  • CSS will-change 屬性示例詳解

    will-change 是一個(gè) CSS 屬性,用于告訴瀏覽器某個(gè)元素在未來(lái)可能會(huì)發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧
    2025-04-07
  • CSS去除a標(biāo)簽的下劃線的幾種方法

    本文給大家分享在 CSS 中,去除a標(biāo)簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-04-07
  • 前端高級(jí)CSS用法示例詳解

    在前端開(kāi)發(fā)中,CSS(層疊樣式表)不僅是用來(lái)控制網(wǎng)頁(yè)的外觀和布局,更是實(shí)現(xiàn)復(fù)雜交互和動(dòng)態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級(jí),本文將
    2025-04-07
  • css中的 vertical-align與line-height作用詳解

    文章詳細(xì)介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見(jiàn)使用場(chǎng)景、常見(jiàn)問(wèn)題及解決方案,感興趣的朋友跟隨小編一起看看吧
    2025-03-26
  • 淺析CSS 中z - index屬性的作用及在什么情況下會(huì)失效

    z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用
    2025-03-21
  • CSS @media print 使用詳解

    文章詳細(xì)介紹了CSS中的打印媒體查詢@mediaprint包括基本語(yǔ)法、常見(jiàn)使用場(chǎng)景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁(yè)控制、調(diào)整邊距和背景等
    2025-03-18
  • CSS模擬 html 的 title 屬性(鼠標(biāo)懸浮顯示提示文字效果)

    本文介紹了如何使用CSS模擬HTML的title屬性,通過(guò)鼠標(biāo)懸浮顯示提示文字效果,通過(guò)設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實(shí)現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起
    2025-03-10
  • 前端 CSS 動(dòng)態(tài)設(shè)置樣式::class、:style 等技巧(推薦)

    本文介紹了Vue.js中動(dòng)態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對(duì)象語(yǔ)法和數(shù)組語(yǔ)法,通過(guò)對(duì)象語(yǔ)法,可以根據(jù)條件動(dòng)態(tài)切換類名或樣式;通過(guò)數(shù)組語(yǔ)法,可以同時(shí)綁定多個(gè)類名或樣式,此外
    2025-02-26

最新評(píng)論