亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

普通流 CSS定位機制

2024-07-11 09:02:46
字體:
來源:轉載
供稿:網友

武林網(www.49028c.com)文章簡介:由于沒有找到自己認為完整的關于普通流、浮動和絕對定位的中文文章,于是鼓起勇氣決定自己來寫篇。為此大致啃掉了CSS2.1里的 8 Box model 以及 9 Visual formatting model 。實話說,還真是看得有點頭大,呵呵~ 文檔流,其實標準里根本就沒有這個詞。如果把文檔流直譯

  由于沒有找到自己認為完整的關于普通流、浮動和絕對定位的中文文章,于是鼓起勇氣決定自己來寫篇。為此大致啃掉了CSS2.1里的 8 Box model 以及 9 Visual formatting model 。實話說,還真是看得有點頭大,呵呵~

  文檔流,其實標準里根本就沒有這個詞。如果把文檔流直譯為英文就是 document flow ,但標準里只有另一個詞,叫做普通流( normal flow ),或者稱為常規流。但似乎大家更習慣文檔流的稱呼,因為很多中文翻譯的書就是這么來的。比如《CSS Mastery》,英文原書中至始至終都只有普通流 normal flow 這一詞,從來沒出現過文檔流 document flow 。但是中文譯本“普通流”和“文檔流”卻是交替出現的。

  什么是普通流?簡單說就是元素按照其在 HTML 中的位置順序決定排布的過程。并且這種過程遵循標準的描述。

  為了從不同角度說明,我采集了一些可能冗長、具體或者晦澀的其他人給出的定義:

  將窗體自上而下分成一行行,并在每行中按從左至右的順序排放元素,即為文檔流。

  Jennifer.Kyrnin@About.com: 普通流是元素在多數情況下呈現在 web 頁面上的方式。所有 HTML 都在塊框( block boxes,塊級元素 )或者行內框( inline boxes,行內元素 )中。

  Rainbo Design: 當瀏覽器開始渲染 HTML 文檔,它從窗口的頂端開始,經過整個文檔內容的過程中,分配元素需要的空間。除非文檔的尺寸被 CSS 特別的限定,否則瀏覽器垂直擴展文檔來容納全部的內容。每個新的塊級元素渲染為新行。行內元素則按照順序被水平渲染直到當前行遇到了邊界,然后換到下一行垂直渲染。這個過程被成為普通文檔流。

  可見,把流( flow )理解為流程,完全說的通。普通流即是通常情況下的元素排布和定位流程。

  但其實在CSS2.1RC里,普通流的本質是三種定位機制( Positioning schemes )之一,被定義為:

  引用:

  Normal flow. In CSS 2.1, normal flow includes block formatting of block boxes, inline formatting of inline boxes, relative positioning of block or inline boxes, and positioning of run-in boxes.

  這個過程包括了塊格式化( block formatting ),行內格式化(inline formatting ),相對定位( relative positioning ),以及 run-in boxes 的定位。似乎和上面那些迥然不同,但是把這些分解開來,仍然是一致的。

  另外,9.4 Normal flow下還有一段:

  引用:

  Boxes in the normal flow belong to a formatting context, which may be block or inline, but not both simultaneously. Block boxes participate in a block formatting context. Inline boxes participate in an inline formatting context.

  這是段描述,不是定義。在普通流中的 Box(框) 屬于一種 formatting context(格式化上下文) ,類型可以是 block ,或者是 inline ,但不能同時屬于這兩者。并且, Block boxes(塊框) 在 block formatting context(塊格式化上下文) 里格式化, Inline boxes(塊內框) 則在 inline formatting context(行內格式化上下文) 里格式化。

  我們知道,任何被渲染的元素都屬于一個 box ,并且不是 block ,就是 inline 。即使是未被任何元素包裹的文本,根據不同的情況,也會屬于匿名的 block boxes 或者 inline boxes。所以上面的描述,即是把所有的元素劃分到對應的 formatting context 里。

  組合上面的定義,并且姑且先把 formatting context 看做是一種范圍限定,那么具體講,普通流就是這樣的過程:

  1.在對應的 block formatting context 中,塊級元素按照其在HTML中的順序,在其容器框里從左上角開始,從上到下垂直地依次分配空間、堆砌( stack ),并獨占一行,邊界緊貼父容器。兩相鄰元素間的距離由 margin 屬性決定,在同一個 block formatting context 中的垂直邊界將被重疊( collapse )。并且,除非創建一個新的 block formatting context ,否則塊級元素的寬度不受浮動元素的影響(這就是浮動元素能蓋在塊級元素上面的原因)。

  2.在對應的 inline formatting context 中,行內元素從容器的頂端開始,一個接一個地水平排布。水平填充、邊框和邊距對行內元素有效。但垂直的填充、邊框和空白邊不影響其高度。一個水平行中的所有 inline box 組成了名為 line box 的矩形區域。 line box 的高度始終容下所有的 inline box ,并只與行高有關。 line box 的寬度受到父容器和浮動元素存在的影響(這就是文本環繞浮動元素)。如果 line box 的寬度小于容器, line box 的水平排布就取決于 text-align 。如果 line box 的寬度大于容器,則截斷 line box 并換行在新的 line box 中重新排布元素(截斷處不應用 padding 和 margin 值)。如果 line box 無法截斷,如單詞過長或者指定不換行,則會溢出容器。

  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看网址| 欧美电影在线免费观看网站| 亚洲精品720p| 成人精品视频久久久久| 蜜月aⅴ免费一区二区三区| 97香蕉久久夜色精品国产| 精品偷拍一区二区三区在线看| 亚洲剧情一区二区| 在线观看日韩欧美| 久久黄色av网站| 日韩中文字幕第一页| 97在线看免费观看视频在线观看| 中文字幕欧美精品日韩中文字幕| 高清视频欧美一级| 亚洲aⅴ日韩av电影在线观看| 91精品视频在线看| 78m国产成人精品视频| 夜夜嗨av色综合久久久综合网| 亚洲精品91美女久久久久久久| 5566日本婷婷色中文字幕97| 色综合老司机第九色激情| 欧美精品久久久久久久免费观看| 久久久999精品| www.日韩.com| 日韩美女免费线视频| 国产精品极品美女在线观看免费| 欧美精品在线观看91| 亚洲国产精品网站| 亚洲毛片在线免费观看| 欧美影院在线播放| 97在线观看视频国产| 亚洲成人精品在线| 91精品国产高清自在线看超| 久久大大胆人体| 欧美精品免费看| 国产精品久久久久久久久男| 亚洲日本欧美中文幕| 欧美大奶子在线| 成人在线激情视频| 国产精品自拍小视频| 视频在线观看一区二区| 久热99视频在线观看| 日韩成人在线观看| 成人免费网站在线| 欧美大全免费观看电视剧大泉洋| 91精品国产综合久久香蕉的用户体验| 欧美成人午夜激情在线| 青草成人免费视频| 91精品国产91久久久久久久久| 全球成人中文在线| 综合国产在线视频| 亚洲天堂精品在线| 欧美性生活大片免费观看网址| 日韩中文综合网| 大荫蒂欧美视频另类xxxx| 久久久999精品视频| 欧美黄色www| 欧美成人h版在线观看| 欧美多人乱p欧美4p久久| 国产成人高清激情视频在线观看| 91精品国产99久久久久久| 亚洲国产精品网站| 亚洲高清不卡av| 欧美日韩免费在线| 国产亚洲精品激情久久| 日韩视频免费大全中文字幕| 国产视频精品xxxx| 国产精品日韩欧美大师| 国产精品久久久久久亚洲影视| 国产精品99久久久久久www| 亚洲国产精彩中文乱码av在线播放| 亚洲国产精品视频在线观看| 午夜精品久久久久久久99热浪潮| 欧美成人精品在线观看| 欧美另类极品videosbestfree| 正在播放亚洲1区| 中文字幕亚洲综合久久| 久久成人人人人精品欧| 91系列在线观看| 成人性生交大片免费观看嘿嘿视频| 一区二区三区动漫| 欧美一区二区三区免费观看| 日韩毛片在线看| 亚洲欧美日韩天堂一区二区| 欧美日韩国产二区| 精品国产乱码久久久久久虫虫漫画| 色黄久久久久久| 久久免费视频在线| 色噜噜狠狠狠综合曰曰曰| 98精品国产自产在线观看| 国产一区二区三区三区在线观看| 国产精品国模在线| 97精品一区二区三区| 欧美精品制服第一页| 久久久久久综合网天天| 亚洲开心激情网| 欧美日韩人人澡狠狠躁视频| 国产精品第一视频| 国产午夜精品久久久| 97精品久久久中文字幕免费| 国产精品自拍小视频| 伊是香蕉大人久久| 亚洲人午夜精品| 日韩一级裸体免费视频| 不用播放器成人网| 92国产精品久久久久首页| 亚洲aⅴ日韩av电影在线观看| 57pao成人永久免费视频| 久久在线免费观看视频| 亚洲已满18点击进入在线看片| 欧美黄色三级网站| 欧美激情一二区| 欧美精品成人在线| 日韩在线免费视频| 亚洲欧美精品伊人久久| 亚洲第一区中文99精品| 亚洲欧美中文字幕在线一区| 在线电影中文日韩| 国产午夜一区二区| 久久精品国产亚洲精品2020| 国产亚洲精品一区二区| 久久久久久久久久久亚洲| 在线观看欧美视频| 日韩国产一区三区| 亚洲国产欧美一区二区三区久久| 欧美日韩国产综合新一区| 国产精品白丝av嫩草影院| 45www国产精品网站| 7777精品久久久久久| 7m精品福利视频导航| 国产精品大陆在线观看| 国产一区二区成人| 疯狂欧美牲乱大交777| 成人欧美一区二区三区在线| 色婷婷综合成人av| 欧美激情在线观看| 亚洲成人免费网站| 国产999精品久久久影片官网| 国产精品久久久久秋霞鲁丝| 精品视频偷偷看在线观看| 国产在线观看精品一区二区三区| 国产美女精品视频| 欧美精品手机在线| 亚洲最大av网站| 狠狠色香婷婷久久亚洲精品| 国产美女扒开尿口久久久| 欧美精品激情在线| 国产精品久久久久久亚洲影视| 中文字幕一精品亚洲无线一区| 北条麻妃一区二区三区中文字幕| 欧美日韩中文在线| 成人a免费视频| 欧美激情va永久在线播放| 亚洲福利在线看| 久久久久久久香蕉网| 色伦专区97中文字幕| 成人黄色片网站| 国产精品日韩专区| 亚洲欧美中文字幕在线一区| 国产日韩精品电影| 国产精品流白浆视频| 久久久亚洲国产| 日韩女优人人人人射在线视频| 亚洲男女自偷自拍图片另类|