国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) web前端 css教程 css中Float屬性詳解

css中Float屬性詳解

Mar 22, 2018 pm 03:15 PM
css float

這次給大家?guī)?lái)css中Float屬性詳解,使用css中Float屬性的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來(lái)看一下。

一、Float的特性

1. 應(yīng)用于文字圍繞圖片

2. 創(chuàng)建一個(gè)塊級(jí)框

3. 多列浮動(dòng)布局

4. 浮動(dòng)元素的寬度、高度自適應(yīng),但可以設(shè)置其值。

二、核心解決的問(wèn)題

文字圍繞圖片:img標(biāo)簽與多個(gè)文本標(biāo)簽放置在一個(gè)容器中,如果img浮動(dòng),文本標(biāo)簽會(huì)圍繞圖片。

<img src="../img/a.jpg" style=" width: 100px; height: 200px; float: left;" alt="">
????????<p>001文件內(nèi)容文件內(nèi)容文內(nèi)容文件內(nèi)容<br/>
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)內(nèi)容文件內(nèi)容<br/>
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容<br/>?
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文內(nèi)容文件內(nèi)容文件內(nèi)容<br/>
????????<p>p標(biāo)簽文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文容文件內(nèi)容文件內(nèi)容文件內(nèi)容</p>
????????<p>p標(biāo)簽文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容</p>
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件件內(nèi)容文件內(nèi)容文件內(nèi)容<br/>
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容<br/>?
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)容文件內(nèi)內(nèi)容文件內(nèi)容<br/>
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件容文件內(nèi)容文件內(nèi)容<br/>
????????文件內(nèi)容文件內(nèi)容文件內(nèi)容文件容文件內(nèi)容文件內(nèi)容<br/>
????????</p>

2.1 這是一個(gè)問(wèn)題

浮動(dòng)元素與正常元素相鄰,且浮動(dòng)元素與正常元素之間沒(méi)有清除浮動(dòng),此時(shí)正常元素會(huì)被浮動(dòng)元素蓋住,但包含的內(nèi)容會(huì)圍繞浮動(dòng)元素顯示。

<p style="width: 100px; height: 200px; background: red;float: left;" >001</p>?
<p style="width: 100px; height: 200px; background: gray;float: none;" ><p>002</p></p>

001浮動(dòng),002沒(méi)有浮動(dòng),但002元素本身被001蓋住,但內(nèi)容卻圍繞001顯示。

三、非核心且主要應(yīng)用領(lǐng)域

分欄布局:讓區(qū)塊先水平排列,然后超出部分另起一行。

主要特點(diǎn)

1.父級(jí)高度塌陷(這也是一個(gè)嚴(yán)重的問(wèn)題)

.wrap{
???????????background:red;?
???????????padding:10px;
???????????width:auto;
????????}
????????.left{
????????????background:gray;
????????????width:200px;
????????????height:100px;
????????????float:left;
????????}
????????.right{
????????????background:yellow;
????????????width:100px;
????????????height:100px;
????????????float:left;
????????}
<p class="wrap">
????????<p class="left">left</p>
????????<p class="right">right</p>
</p>

2.寬、高變成自適應(yīng)子元素,但寬、高的設(shè)置有效

.wrap{
???????????background:red;?
???????????padding:10px;
???????????float:left;
????????}?
????????.left{
????????????width:100px;
????????????background:gray;
????????}
????????.right:{
????????????width:200px;
????????????background:yellow;
????????}
<p class="wrap">
????????<p class="left">left</p>
????????<p class="right">right</p>
</p>

2. 解決高度塌陷的問(wèn)題

首先我們需要了解BFC和IFC這兩人個(gè)基本的概念,因?yàn)樗c瀏覽器的渲染有著密切的關(guān)系。

1.BFC(塊級(jí)格式化上下文)

他是一個(gè)獨(dú)立渲染的區(qū)域,規(guī)定區(qū)域內(nèi)部如何布局,且與外部毫不相干,主要規(guī)則如下:

1.1 內(nèi)部的box會(huì)垂直方向,一個(gè)接一個(gè)地放置

1.2 Box垂直方向的距離由margin決定,屬于同一個(gè)BFC的兩個(gè)相鄰box的Margin會(huì)發(fā)生重疊

1.3 BFC區(qū)域不會(huì)與float重疊

.head{
????????????background:pink;
????????????margin:?20px?0px;
????????????height:100px;
????????}
????????.wrap{
???????????background:red;?
???????????padding:10px;
???????????margin:20px?0px;
???????????overflow:hidden;
????????}?
????????.left{
????????????width:100px;
????????????background:gray;?
????????????margin:10px?0px;
????????}
????????.right:{
????????????width:200px;
????????????background:yellow;??
????????????margin:20px?0px;
????????}
<p class="head">head</p>
????<p class="wrap">
????????<p class="left">left</p>
????????<p class="right">right</p>
????</p>

.head與.wrap兩個(gè)box之間上下各設(shè)置有20px的外邊距,但發(fā)生了重疊;

.head與.left兩個(gè)之間,.head有20px的外邊距,.left有10px的外邊距,沒(méi)有發(fā)生重疊,因?yàn)?wrap使其創(chuàng)建了BFC(overflow:hidden)。

1.4 每個(gè)box的margin 左邊,與包含border box的左邊相接觸(右邊一樣),浮動(dòng)也是如此

2. IFC(行級(jí)格式化上下文)

框從包含塊的頂部開(kāi)始,一個(gè)接一個(gè)水平放置。水平方向上的外邊距、邊框、內(nèi)邊距所占空間都放在一起(display為inline、inline-block;元素本身具有inline特性的元素都具體以下特征)。規(guī)則如下:

2.1 不能指定寬高

2.2 Margin、Padding、border垂直方向的無(wú)效

2.3 行框的左邊緊貼包含塊的左邊,而行框的右邊緊貼其包含框的右邊,而浮動(dòng)塊可以插入在包含塊邊緣與行框之間。

2.4 行內(nèi)框高度由line-height決定。

此節(jié)例子可以參考display章節(jié)的inline元素。

3. 解決方案

主要根據(jù)BFC的原理實(shí)現(xiàn),因?yàn)锽FC的渲染的是整塊區(qū)域,也就會(huì)計(jì)算出寬、高。這也是傳說(shuō)中的清除浮動(dòng)的方案

3.1 父容器創(chuàng)建BFC方法

3.1.1 創(chuàng)建BFC的方法

a) Float除了none以外的取值;

b) Overflow除了visible以外的值;

c) Display值為table-cell、table-caption、inline-block、flex、inline-flex等

d) Position值為absloute、fixed

e) Fieldset元素

3.1.2 清除浮動(dòng)

a) Float、overflow、display三種方式都可以清除浮動(dòng),但position、fieldset雖然創(chuàng)建了bfc但不可以清除浮動(dòng)(也就是不能解決高度塌陷的問(wèn)題)。主要原因?yàn)椋簆osition、fieldset都需要子元素來(lái)?yè)伍_(kāi)父容器的高度,但子元素浮動(dòng)后又不存在高度,所以失效。

b) Float、overflow、display示例代碼:

.wrap{
????????????background:?gray;
????????????padding:?10px;
????????????overflow:?auto;
????????}
????????.left,?.right{
????????????background:?red;
????????????float:?left;
????????????width:?200px;
????????????height:?100px;
????????}
????????.right{
????????????background:?yellow;
????????}
????????.footer{
????????????background:?pink;
????????}
<p class="wrap" >
????????<p class="left">left</p>
????????<p class="right">right</p>
????</p>
<p class="footer">footer</p>

3.1.3 最后一個(gè)子元素clear:both

利用clear:both觸發(fā)父容器重新計(jì)算高度的原理實(shí)現(xiàn),示例代碼如下:

.wrap{
????????????background:?gray;
????????????padding:?10px;?
????????}
????????.left,?.right{
????????????background:?red;
????????????float:?left;
????????????width:?200px;
????????????height:?100px;
????????}
????????.right{
????????????background:?yellow;
????????}
????????.footer{
????????????background:?pink;
????????}
????????.clear{
????????????clear:?both;
????????????zoom:?1;
????????}
<p class="wrap" >
????????<p class="left">left</p>
????????<p class="right">right</p>
????????<p class="clear"></p>
????</p>
<p class="footer">footer</p>

3.1.4 After添加最后一個(gè)子元素

利用css的:after偽元素實(shí)現(xiàn),動(dòng)態(tài)插入元素并清除浮動(dòng):

.wrap{
????????????background:?gray;
????????????padding:?10px;?
????????}
????????.wrap:after{
????????????content:?'';
????????????display:?block;
????????????overflow:?hidden;
????????????clear:?both;
????????}
????????.left,?.right{
????????????background:?red;
????????????float:?left;
????????????width:?200px;
????????????height:?100px;
????????}
????????.right{
????????????background:?yellow;
????????}
????????.footer{
????????????background:?pink;
????????}
<p class="wrap" >
????????<p class="left">left</p>
????????<p class="right">right</p>?
????</p>
<p class="footer">footer</p>

4. 總結(jié)

1. 利用bfc方式清除浮動(dòng),簡(jiǎn)單、瀏覽器支持良好,但在IE6-版本支持存在問(wèn)題。但是存在以下局限性,要適環(huán)境而用:

??? a) Overflow方式:滾動(dòng)條會(huì)被隱藏,如果子內(nèi)容超高則存在顯示不全的問(wèn)題;

??? b) Float方式:讓父容器浮動(dòng),那么就存在對(duì)父容器同輩元素的影響;

??? c) Dipslay方式:讓父容器變?yōu)閠able或者flex等,都存在不明確的影響,大家都不推薦使用。

2. 最佳解決方案:利用:after添加一個(gè)偽元素并給予clear:both和zoom:1來(lái)實(shí)現(xiàn)清除浮動(dòng),兼容性好,對(duì)環(huán)境影響最小。

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

推薦閱讀:

CSS實(shí)現(xiàn)3D按鈕效果

opacity透明度濾鏡的IE兼容解決方法

水平垂直居中的方法

以上是css中Float屬性詳解的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
如何更改CSS中的文本顏色? 如何更改CSS中的文本顏色? Jul 27, 2025 am 04:25 AM

要改變CSS中文本顏色,需使用color屬性;1.使用color屬性可設(shè)置文本前景色,支持顏色名稱(如red)、十六進(jìn)制碼(如#ff0000)、RGB值(如rgb(255,0,0))、HSL值(如hsl(0,100%,50%))以及帶透明度的RGBA或HSLA(如rgba(255,0,0,0.5));2.可將顏色應(yīng)用于包含文本的任何元素,如h1至h6標(biāo)題、段落p、鏈接a(需注意a:link、a:visited、a:hover、a:active不同狀態(tài)的顏色設(shè)置)、按鈕、div、span等;3.最

如何清除未使用的CSS? 如何清除未使用的CSS? Jul 27, 2025 am 02:47 AM

UseAutomatedToolSlikePurgecsSoruncsStoscanAndRemoveUnusedcss; 2. integratePuratePurgingIntoyourBuildProcessviawebpack,vite,vite,ortailwind ’scontentConfiguration; 3.AuditcsSusageWithChroMedEvtoolScoverAgeTabBeforgeForgingToavoidRemovingNeedEdedStyles; 4.safelistdynamic

什么是堆疊上下文? 什么是堆疊上下文? Jul 27, 2025 am 03:55 AM

astackingcontextisaself-containeerrincssthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconthatconteroverlapplapsplatements,wherenestedContextSrextSrextSratcrets-IndexInteractions; itiscreatedByDybyPropertiesLikeLikeZ-IndexonPositionsedElements,Epacity,opacity

描述不同的CSS單元以及何時(shí)使用它們 描述不同的CSS單元以及何時(shí)使用它們 Jul 27, 2025 am 04:24 AM

在網(wǎng)頁(yè)開(kāi)發(fā)中,CSS單位的選擇取決于設(shè)計(jì)需求和響應(yīng)式表現(xiàn)。1.像素(px)用于固定尺寸如邊框和圖標(biāo),但不利于響應(yīng)式設(shè)計(jì);2.百分比(%)根據(jù)父容器調(diào)整大小,適合流式布局但需注意上下文依賴;3.em基于當(dāng)前字體大小,rem基于根元素字體,適合彈性字體和統(tǒng)一主題控制;4.視口單位(vw/vh/vmin/vmax)依據(jù)屏幕尺寸調(diào)整,適合全屏元素和動(dòng)態(tài)UI;5.auto、inherit、initial等值用于自動(dòng)計(jì)算、繼承或重置樣式,有助于靈活布局與樣式管理。合理使用這些單位能提升頁(yè)面靈活性與響應(yīng)性。

如何使用CSS Backdrop-Filter屬性? 如何使用CSS Backdrop-Filter屬性? Aug 02, 2025 pm 12:11 PM

backdrop-filter用于對(duì)元素背后的內(nèi)容應(yīng)用視覺(jué)效果,1.使用backdrop-filter:blur(10px)等語(yǔ)法實(shí)現(xiàn)毛玻璃效果;2.支持blur、brightness、contrast等多種濾鏡函數(shù)并可疊加;3.常用于玻璃態(tài)卡片設(shè)計(jì),需確保元素與背景重疊;4.現(xiàn)代瀏覽器支持良好,可用@supports提供降級(jí)方案;5.避免過(guò)大模糊值和頻繁重繪以優(yōu)化性能,該屬性僅在元素背后有內(nèi)容時(shí)生效。

如何在CSS中樣式鏈接? 如何在CSS中樣式鏈接? Jul 29, 2025 am 04:25 AM

鏈接的樣式應(yīng)通過(guò)偽類區(qū)分不同狀態(tài),1.使用a:link設(shè)置未訪問(wèn)鏈接樣式,2.a:visited設(shè)置已訪問(wèn)鏈接,3.a:hover設(shè)置懸停效果,4.a:active設(shè)置點(diǎn)擊時(shí)樣式,5.a:focus確保鍵盤可訪問(wèn)性,始終遵循LVHA順序以避免樣式?jīng)_突,可通過(guò)添加padding、cursor:pointer和保留或自定義焦點(diǎn)輪廓來(lái)提升可用性和可訪問(wèn)性,還可使用border-bottom或動(dòng)畫下劃線等自定義視覺(jué)效果,最終確保鏈接在所有狀態(tài)下均有良好用戶體驗(yàn)和可訪問(wèn)性。

如何將文本集中在CSS中? 如何將文本集中在CSS中? Jul 27, 2025 am 03:16 AM

使用text-align:center實(shí)現(xiàn)文本水平居中;2.使用Flexbox的align-items:center和justify-content:center實(shí)現(xiàn)垂直和水平居中;3.單行文本可通過(guò)設(shè)置line-height等于容器高度來(lái)垂直居中;4.絕對(duì)定位元素可結(jié)合top:50%、left:50%與transform:translate(-50%,-50%)實(shí)現(xiàn)居中;5.CSSGrid的place-items:center也可同時(shí)實(shí)現(xiàn)雙軸居中,現(xiàn)代布局推薦優(yōu)先使用Flexbox或Grid。

什么是用戶代理樣式表? 什么是用戶代理樣式表? Jul 31, 2025 am 10:35 AM

用戶代理樣式表是瀏覽器自動(dòng)應(yīng)用的默認(rèn)CSS樣式,用于確保未添加自定義樣式的HTML元素仍具基本可讀性。它們影響頁(yè)面初始外觀,但不同瀏覽器存在差異,可能導(dǎo)致不一致顯示。開(kāi)發(fā)者常通過(guò)重置或標(biāo)準(zhǔn)化樣式來(lái)解決這一問(wèn)題。使用開(kāi)發(fā)者工具的“計(jì)算”或“樣式”面板可查看默認(rèn)樣式。常見(jiàn)覆蓋操作包括清除內(nèi)外邊距、修改鏈接下劃線、調(diào)整標(biāo)題大小及統(tǒng)一按鈕樣式。理解用戶代理樣式有助于提升跨瀏覽器一致性并實(shí)現(xiàn)精準(zhǔn)布局控制。

See all articles