日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

元素,布局方式,BFC和清除浮动

發布時間:2025/7/25 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 元素,布局方式,BFC和清除浮动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

元素:塊級元素,內聯元素,內聯塊狀元素

塊級元素在默認情況下會獨占一塊區域

? ? ? ? ? ? ? ?相對于塊級元素的父元素來講,塊級元素占據的行默認是單獨享有的。

? ? ? ? ? ? ? ?通過設置元素的樣式為:

display:block;

   ? ? ?可以讓元素具有塊級樣式。

? ? ? ? ? ? 塊級元素的特點是:水平拉伸,垂直包裹。

? ? ? ? ? ? 所謂水平拉伸,是相對于塊級元素的父元素來說的。

? ? ? ? ? ? 在不設置with屬性時,塊級元素的width會被水平拉伸,使得width+border+margin等于父元素的width;

? ? ? ? ? ? 所謂垂直包裹,是相對于塊級元素的子元素來說的。

? ? ? ? ? ? 在塊級元素沒有設置子元素或者子元素with+border+margin=0時,若不設置塊級元素的height屬性,則height默認為0,

? ? ? ? ? ? 若塊級元素內部有一個with+border+margin=N,則塊級元素的height=N;

? ? ? ? ? ? 總結:

  • ? 總是在新行開始;
  • ? 高度,邊距行高可控;
  • ? 水平拉伸塊級父元素;
  • ? 垂直包裹內聯元素和其他元素。
  • ?內聯元素:可以與其他元素共享同一行。

    ? ? ? ? ? ? 通過設置元素的樣式為:

    display:inline;

       ? ? ?可以讓元素具有內聯樣式。

    ? ? ? ? ? ? 內聯元素又能單獨分為兩類:替換元素和非替換元素

    ? ? ? ? ? ? 替換元素如:img,input。這類元素和其他元素位于同一行上,擁有內在尺寸,高度、寬度、行高以及頂和底邊距都可設置(有些是瀏覽器設置的,有些是人為提前設置的,如圖片的寬和高)。

    ? ? ? ? ? ? 非替換元素:內容直接包含在文檔中,甚至可以認為是有衍生功能的文檔。

    ? ? ? ? ? ? 總結:

  • ? 可以和其他內聯元素共享同一行;
  • ? line-height, margin-left, margin-top,padding-left, padding-right可變,其中line-height會帶動整行獲得最大且相同的行高(最高的inlineboxes高度決定lineboxes的高度);當內聯元素有背景的話,padding是會影響顯示(覆蓋)的。
  • ? 高度,其余邊距不可改變;
  • ? 只能容納文本、其他非塊級元素。
  • 內聯塊狀元素:同時具備內聯和塊狀元素的特點

    ? ? ? ? ? ?可以和文本和非塊級元素位于同一行上;同時元素的高度、寬度、行高以及頂和底邊距都可設置。

    ? ? ? ? ???通過設置元素的樣式為:

    display:inline-block;

    ?

    布局方式:普通流,浮動,絕對定位

    普通流(Normal Flow):HTML默認的從左到右,自上而下的布局方式。

    浮動(Floats):浮動的框可以向左或向右浮動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。

    由于浮動框不在文檔的普通流中,所以文檔的普通流中的塊框表現得就像浮動框不存在一樣(w3c)

    a.浮動會脫離正常的文檔流,浮動元素A的浮動位置任然是相對于父元素所在的位置的,?

    b.如果父元素也在浮動,浮動元素A任然是參照他的父元素進行浮動,這一點與浮動父元素不浮動時沒有區別,但是父元素會被浮動元素撐開,擁有自適應的高度。(所謂的清除浮動)

    c.其他的盒子在排版時,會無視脫離文檔流的盒子,即與其相鄰的盒子會發生覆蓋重疊,但這些盒子中的文本卻會被浮動盒子排斥而環繞浮動盒子

    c.盒子的浮動會參照其父元素的width,但父元素的height不會影響浮動元素的位置,正常流中的父元素的height不會通過自適應去包裹其浮動元素,因為浮動元素已經脫離普通流。(這給排版帶來一定的困難)

    絕對定位(Absolute Positioning):絕對定位的元素會脫離普通流,并且完全和普通流中的元素脫離關系。

    BFC(Block Formatting Context):塊級格式上下文

    ?

    ?視覺格式化模型:定義了CSS中的盒模型,包括塊盒(block box),行內盒(inline box)和匿名盒(anonymous box)。

    ?

    ?BFC的概念:可以理解為隔離了的容器,其內部的元素在布局上不會對外部元素產生影響。(可以將DFC暴力的直接理解為一個單獨的html頁面

    觸發方式:

  • ?浮動:除了float為no的浮動元素;
  • ?絕對定位:元素的position為absolute或者fixed
  • ?display設置為inline-blocks,table-cells,table-captions
  • ?設置overflow為除了visible 以外的值(hidden,auto,scroll)
  • BFC的作用主要有兩個:讓容器與容器間的上下邊距發生折疊(大吃小);可以阻止元素被浮動元素覆蓋。

    通過給要清除浮動元素的父元素定義偽類:after配合zoom

    ?

    轉載于:https://www.cnblogs.com/tisikcci/p/5718564.html

    總結

    以上是生活随笔為你收集整理的元素,布局方式,BFC和清除浮动的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。