HTML + CSS 基礎(chǔ):元素分類以及盒子模型

前言


我們知道HTML元素可以分為兩類:

  • 塊級(jí)元素

  • 內(nèi)聯(lián)元素(或稱之為行內(nèi)元素)

區(qū)別如下:

元素分類 是否默認(rèn)獨(dú)占一行 設(shè)置寬高是否有效
塊級(jí)元素
內(nèi)聯(lián)元素

總結(jié)一下就是

  1. 塊級(jí)元素會(huì)默認(rèn)獨(dú)占一行,而內(nèi)聯(lián)元素們會(huì)在一行顯示

  2. 塊級(jí)元素可以可以設(shè)置width,height屬性,而內(nèi)聯(lián)元素設(shè)置寬高屬性無(wú)效

  3. 塊級(jí)元素默認(rèn)的width會(huì)撐滿父元素的width,這就是所謂的水流的概念,而行內(nèi)元素的width則由其自身內(nèi)容或其子元素的寬度決定的

而塊級(jí)元素常用的有div,p標(biāo)簽,內(nèi)聯(lián)元素有span,a,img等

以上就是HTML關(guān)于元素分類的描述,下面會(huì)用實(shí)例來(lái)展示這兩種元素針對(duì)width,height的特點(diǎn)

實(shí)例展示


各自默認(rèn)頁(yè)面呈現(xiàn)

  1. 定義index.html文件
1
  1. 打開瀏覽器,調(diào)試模式下
小P

這里可以看到,小P元素是獨(dú)占頁(yè)面一整行的,并且其width寬度撐滿整個(gè)父元素的寬度為1350,而內(nèi)聯(lián)元素小S的寬度僅為500.17,且其右下角的盒模型體現(xiàn)出來(lái)的width為auto,即表示其內(nèi)容有多少,其內(nèi)聯(lián)元素的width就是多少

小S
  1. 此時(shí)在小S的下面再添加一個(gè)行內(nèi)元素小S2,看下其在頁(yè)面的表現(xiàn)
小S2

頁(yè)面呈現(xiàn):

小S2頁(yè)面呈現(xiàn)

可以發(fā)現(xiàn)小S2身為內(nèi)聯(lián)元素,其直接和小S顯示在了一行,其width寬度也是auto,隨小S2自身內(nèi)容的伸縮而變化

改變width?

我試著給小P以及小S,小S2各自設(shè)置一個(gè)具體的width屬性,在看看他們各自的表現(xiàn)如何

  1. 小P設(shè)置寬度width屬性為200px
小P
小P設(shè)置width

發(fā)現(xiàn)小P設(shè)置width為200px以后,確實(shí)生效了

  1. 小S,小S2各設(shè)置width寬度為200px
小S,小S2
小S,小S2

這里可以看到小S和小S2的實(shí)際寬度沒有發(fā)生任何變化,width屬性設(shè)置了200px并沒有生效(雖然右下角的盒子模型的width屬性值確實(shí)被設(shè)置成了200px),這就是內(nèi)聯(lián)元素設(shè)置width不生效的情況

內(nèi)聯(lián)元素的寬度由其自身內(nèi)容決定,指定的width屬性不生效

盒子模型


頁(yè)面上的每一個(gè)元素包括內(nèi)聯(lián)元素,都可以看作是一個(gè)盒子,也即盒子模型

盒子模型

截圖來(lái)自Chrome瀏覽器

盒子模型由四個(gè)組成部分,分為content,padding,border,margin,其順序由內(nèi)而外

box-sizing屬性主要分為以下幾種:

  • content-box(瀏覽器默認(rèn)的計(jì)算方式)
    當(dāng)box-sizing屬性設(shè)置為content-box時(shí),表示我們給元素設(shè)置的width屬性只是該元素的和模型最內(nèi)層的content的寬度,至于該元素最終在頁(yè)面上的寬度表現(xiàn)等于: width + (padding * 2)

  • border-box
    當(dāng)box-sizing屬性設(shè)置為border-box時(shí),表示我們給元素設(shè)置的width屬性等于整個(gè)盒子模型的border的大小,即你再怎么設(shè)置該元素的padding值,也不會(huì)改變?cè)撛卦陧?yè)面上的實(shí)際寬度,如果你將padding值變化了,那么為了保持整個(gè)盒子的boder寬度不變,只能動(dòng)態(tài)調(diào)整盒子的content值寬度來(lái)保證整個(gè)盒子的寬度為我們?cè)O(shè)置的width值

不同的瀏覽器廠商針對(duì)這里的實(shí)際元素的box-sizing計(jì)算方式卻是不一樣的

所以,為了避免同一份 CSS樣式在不同瀏覽器下表現(xiàn)不一致,最好做一下有關(guān)盒子模型計(jì)算size(box-sizing)的統(tǒng)一規(guī)定處理

總結(jié)


該文總結(jié)了關(guān)于HTML基礎(chǔ)知識(shí)之元素以及盒子模型的簡(jiǎn)單介紹,后續(xù)會(huì)繼續(xù)學(xué)習(xí)關(guān)于元素在文檔流中如何定位以及Flex布局相關(guān)的前端基礎(chǔ)知識(shí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,189評(píng)論 1 92
  • 1. 前言 前端圈有個(gè)“?!保涸诿嬖嚂r(shí),問個(gè)css的position屬性能刷掉一半人,其中不乏工作四五年的同學(xué)。在...
    YjWorld閱讀 4,936評(píng)論 5 15
  • 學(xué)會(huì)使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,446評(píng)論 2 66
  • 一、CSS入門 1、css選擇器 選擇器的作用是“用于確定(選定)要進(jìn)行樣式設(shè)定的標(biāo)簽(元素)”。 有若干種形式的...
    寵辱不驚丶?xì)q月靜好閱讀 1,740評(píng)論 0 6
  • 關(guān)于通用鏈接的相關(guān)內(nèi)容如下圖所示: 對(duì)應(yīng)的相關(guān)操作及代碼如下:1.首先通過去開發(fā)者賬號(hào)中申請(qǐng)一個(gè)證書帶有Assoc...
    羊妞麻麻閱讀 803評(píng)論 0 0

友情鏈接更多精彩內(nèi)容