css語言中的漂浮語法為「float:屬性值;」。 float屬性用於定義元素在哪個方向浮動,會讓盒子(元素)漂浮在標準流的上面,其周圍的元素也會重新排列,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。此屬性有三個屬性值:1、“left”,定義元素向左浮動;2、“right”,定義元素向右浮動;3、“none”,定義元素不浮動。
本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
在css語言中,想要元素漂浮起來需要使用float屬性;該屬性指定一個盒子(元素)是否應該浮動。 以往這個屬性總是應用於圖像,使文字圍繞在圖像周圍,不過在 CSS 中,任何元素都可以浮動。浮動元素會產生一個區塊級框,而不論它本身是何種元素。
如果浮動非替換元素,則要指定一個明確的寬度;否則,它們會盡可能地窄。
註解:假如在一行之上只有極少的空間可供浮動元素,那麼這個元素會跳至下一行,這個過程會持續到某一行擁有足夠的空間為止。
float浮動屬性的三個屬性值:
left 元素向左浮動。
right 元素向右浮。
none 預設值。元素不浮動,並會顯示在文字中出現的位置。
一、 CSS佈局的三種機制
css提供了3種機制來設置盒子的擺放位置,分別是:普通流(標準流)、浮動和定位,其中:
#1、 普通流(標準流:「塊級元素」會獨佔一行,「從上向下」排列;「行內元素」會依照順序,「從左到右」排列,碰到父元素邊緣自動換行;
2、 浮動:讓盒子從普通流中「漂浮」起來,主要作用讓多個塊級盒子一行顯示。
3、定位:將盒子「定位」在某一個位置-CSS離不開定位,特別是後面的js特效。
二、為什麼需要浮動?
**概念:**元素浮動是指**設定了浮動屬性的元素會:**
作用:
nbsp;html> <meta> <meta> <title>Document</title> <style> .box1{ width: 200px; height: 200px; background-color: rgba(255,0,0,0.5); float: left; } .box2{ width: 300px; height: 150px; background-color: skyblue; } </style> <div></div> <div></div>
<span style="background-color: rgb(255, 192, 0);"></span>
<span style="background-color: rgb(255, 192, 0);"></span>
## float
屬性會讓盒子漂浮在標準流的上面,所以第二個標準流的盒子跑到浮動盒子的底下了
。浮動口訣之— —漏
浮動-漏漏~~~浮動的盒子,把自己原來的位置漏給下面標準流的盒子,就是不佔有原來位置,是脫離標準流的,我們俗稱「脫標誌」
nbsp;html> <meta> <meta> <title>Document</title> <style> .box1{ width: 200px; height: 200px; background-color: rgba(255,0,0,0.5); /* 让第一个盒子浮动起来,不占位置 */ float: left; } .box2{ width: 300px; height: 150px; background-color: skyblue; } </style> <div></div> <div></div>
所以,box2下面的其實就是跑到box1盒子下面了, 被box1給壓住了,遮擋起來了
浮動口訣之——特
浮動——特性float屬性會改變元素display屬性。
###任何元素都可以浮動。浮動元素會產生一個區塊級框,而不論它本身是何種元素。產生的區塊級框和我們前面的行內塊極其相似。###div { width: 200px; height: 200px; background-color: pink; /* 转换为行内块元素,可以水平显示,不过 div 之间有间隙,不方便处理 */ /* display: inline-block; */ /* 设置浮动属性,可以让 div 水平排列,并且没有间隙 */ float: left; } .two { background-color: hotpink; }############ 浮動的元素互相貼靠一起的,但是如果父級寬度裝不下這些浮動的盒子, 多出的盒子會另起一行對齊######浮動的擴展##########一、浮動元素與父盒子的關係######## ####- 子盒子的浮動參考父盒子對齊。 ################- 不會與父盒子的邊框重疊,也不會超過父盒子的內邊距。 ##################二、浮動元素與兄弟盒子的關係############在一個父級盒子中,如果**前一個兄弟盒子**是:###
结论: 如果一个盒子里面有多个子盒子,如果其中一个盒子浮动了,其他兄弟也应该浮动。防止引起问题
ps:浮动只会影响当前的或者后面的标准流的盒子,不会影响前面的标准流
建议:如果一个盒子里面有多个盒子,如果其中的一个盒子浮动了,其他兄弟也应该浮动。防止引起问题
三、为什么要清除浮动
因为父级盒子很多情况下,不方便给高度,但是子盒子浮动就不占有位置,最后父级盒子高度为0,就影响了下面的标准流盒子。 !
结论:
四、清除浮动本质
清除浮动主要为了解决父级元素因为子级浮动引起内部高度为0 的问题。 清除浮动之后, 父级就会根据浮动的子盒子自动检测高度。 父级有了高度,就不会影响下面的标准流了
五、清除浮动的四种方式
在CSS中,clear属性用于清除浮动
语法:
选择器{clear:属性值;} //clear 清除
属性值 | 右描述 |
---|---|
left | 不允许左侧有浮动元素(清除左侧浮动的影响) |
right | 不允许右侧有浮动元素(清除右侧浮动的影响) |
both | 同时清除左右俩侧浮动的影响 |
但是我们实际工作中, 几乎只用 clear: both;
1.额外标签法(隔墙法)
<!-- 是W3C推荐的做法是通过在浮动元素末尾添加一个空的标签: 1.添加在浮动元素最后 2.该元素必须是块元素,行内元素无效 --> <div></div>
2.父级添加overflow属性方法
可以给父级添加: overflow为 hidden| auto| scroll 都可以实现。
3.使用after伪元素清除浮动
after 方式为空元素额外标签法的升级版,好处是不用单独加标签了
.clearfix:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { /* IE6、7 专有 */ *zoom: 1; }
4.使用双伪元素清除浮动
.clearfix:before,.clearfix:after { content:""; display:table; } .clearfix:after { clear:both; } .clearfix { *zoom:1; }
标准流(普通流)在布局中 块级元素会独占一行,从上向下排列;行内元素会按照顺序,从左到右排列,碰到父元素边缘则自动换行。
浮动的应用场景大部分用于让盒子水平排列成一行和控制图片。
清除浮动主要为了解决父级元素因为子级浮动引起内部高度为0 的问题。
清除浮动一共有4中方式:
额外标签法(隔墙法)
父级添加overflow属性方法
使用after伪元素清除浮动
使用双伪元素清除浮动
(学习视频分享:web前端)
以上是css語言中哪一項是漂浮的語法的詳細內容。更多資訊請關注PHP中文網其他相關文章!