這篇文章為大家帶來了關於css中浮動佈局以及文檔流的相關知識,其中包括正常文檔流以及脫離文檔流,希望對大家有幫助。
文件流程簡介
什麼叫「文件流程」?簡單來說,就是指元素在頁面中出現的先後順序。可分為「正常文件流」和「脫離文檔流」。
1、正常文件流程
正常文件流,又稱為“普通文件流”或“普通流”,也就是W3C標準所說的“normal flow”。正常文件流的簡單定義是:「正常文件流,將一個頁面從上到下分為一行一行的,其中塊元素獨佔一行,相鄰行內元素在每一行中按照從左到右排列直到該行排滿。」即,正常文件流指的就是預設情況下頁面元素的佈局情況。
如p、p、hr都是區塊元素,因此獨佔一行。而span、i、img都是行內元素,因此如果兩個行內元素相鄰,就會位於同一行,並且從左到右排列。
2、脫離文件流程
脫離文件流,指的是脫離正常文件流。而想要改變正常文件流,可以使用兩種方法:浮動和定位。
正常文件流程效果:
nbsp;html> <meta> <meta> <meta> <title>正常文档流</title> <style> /* 定义父元素样式 */ .father{ width: 300px; background-color: #0c6a9d; border: 1px solid silver; } /* 定义子元素样式 */ .father p{ padding: 10px; margin: 15px; border: 2px dashed rebeccapurple; background-color: #fcd568; } </style> <p> </p><p>box1</p> <p>box2</p> <p>box3</p>
#設定浮動後的效果:
當我們為第二、三個p元素設定左浮動時:正常文件流情況下,p是塊元素,會獨佔一行。但是由於設定了浮動,第二、三個p元素卻是並列一行,並且跑到父元素之外,跟正常文檔流不一樣。也就是說,設定浮動使得元素脫離了正常文件流。
設定定位後的效果:
當我們為第三個p元素設定絕對定位的時候:由於設定了定位,第三個p元素跑到父元素的上面去了。也就是說,設定了定位使得元素脫離了文件流。
浮動
在傳統的印刷佈局中,文字可以按照實際需要來圍繞圖片,我們一般把這種方式稱為「文字環繞」。在前端開發中,使用了浮動的頁面元素其實就像在印刷版面裡被文字包圍的圖片一樣。這樣比喻,就很好理解了。浮動是CSS佈局的最佳利器,我們可以透過浮動來靈活地定位頁面元素,以達到佈局網頁的目的。例如我們可以透過設定float屬性讓元素向左浮動或向右浮動,以便讓周圍的元素或文字環繞著這個元素。
float屬性取值只兩2個:
我們再用到上文的例子:
nbsp;html> <meta> <meta> <meta> <title>正常文档流</title> <style> /* 定义父元素样式 */ .father{ width: 300px; background-color: #0c6a9d; border: 1px solid silver; } /* 定义子元素样式 */ .father p{ padding: 10px; margin: 15px; border: 2px dashed rebeccapurple; background-color: #fcd568; } </style> <p> </p><p>box1</p> <p>box2</p>
接下來我們分別為box1添加左浮動,為box2添加右浮動:
.son1{float: left;} .son2{float: right;}
#由上述例子可見浮動會影響周圍元素,並且還會引發許多意想不到的問題。在CSS中,我們可以使用clear屬性來清除浮動所帶來的影響。
clear屬性取值如下:
在實際開發中,我們幾乎不會使用「clear:left;」或「clear:right;」來單獨清除左浮動或右浮動,往往都是直截了當地使用「clear:both;」來清除所有浮動。在上述例子的基礎上我們對浮動進行清除:
nbsp;html> <meta> <meta> <meta> <title>清除浮动</title> <style> /* 定义父元素样式 */ .father{ width: 300px; background-color: #0c6a9d; border: 1px solid silver; } /* 定义子元素样式 */ .father p{ padding: 10px; margin: 15px; border: 2px dashed rebeccapurple; background-color: #fcd568; } .son1{float: left;} .son2{float: right;} .son3{clear: both; display: block;} </style> <p> </p><p>box1</p> <p>box2</p> <span></span>
我們通常都是在浮動元素後面再增加一個空元素,然後為這個空元素定義clear:both;來清除浮動。在實際開發中,使用浮動之後如果發現有什麼不對勁的地方,首先檢查有沒有清除浮動。事實上,清除浮動不只是clear:both;,還有overflow:hidden,以及更常用的偽元素。
(學習影片分享:css影片教學)
以上是一起聊聊CSS浮動佈局及文檔流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)