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

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

css中Float屬性詳解

Mar 22, 2018 pm 03:15 PM
css float

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

一、Float的特性

#1. 套用於文字圍繞圖片

2. 建立一個(gè)區(qū)塊級(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ū)塊先水平排列,然後超出部分另起一行。

主要特徵

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(區(qū)塊層級(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í)格式化上下文)

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

2.1 不能指定寬高

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

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

2.4 行內(nèi)框高度由

line-height決定。

此節(jié)範(fàn)例可以參考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)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)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

用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

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)

熱門(mén)話(huà)題

什麼是'渲染障礙CSS”? 什麼是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會(huì)阻塞頁(yè)面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量?jī)?nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢(xún)樣式。 1.提取關(guān)鍵CSS並內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過(guò)JavaScript;3.使用media屬性?xún)?yōu)化加載如打印樣式;4.壓縮合併CSS減少請(qǐng)求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過(guò)度拆分與復(fù)雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什麼? 外部與內(nèi)部CSS:最好的方法是什麼? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

什麼是AutoPrefixer,它如何工作? 什麼是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個(gè)根據(jù)目標(biāo)瀏覽器範(fàn)圍自動(dòng)為CSS屬性添加廠(chǎng)商前綴的工具。 1.它解決了手動(dòng)維護(hù)前綴易出錯(cuò)的問(wèn)題;2.通過(guò)PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項(xiàng)有不手動(dòng)加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

內(nèi)聯(lián),塊,內(nèi)聯(lián)塊和Flex顯示值之間的關(guān)鍵區(qū)別是什麼? 內(nèi)聯(lián),塊,內(nèi)聯(lián)塊和Flex顯示值之間的關(guān)鍵區(qū)別是什麼? Jun 20, 2025 am 01:01 AM

在CSS中選擇正確的display值至關(guān)重要,因?yàn)樗刂圃卦趤丫种械男袨椤?1.inline:使元素像文本一樣流動(dòng),不獨(dú)占一行,無(wú)法直接設(shè)置寬高,適用於文本內(nèi)元素如;2.block:使元素獨(dú)占一行並佔(zhàn)據(jù)全部寬度,可設(shè)置寬高和內(nèi)外邊距,適用於結(jié)構(gòu)化元素如;3.inline-block:兼具block特性和inline佈局,可設(shè)置尺寸但仍同行顯示,適合需要一致間距的水平佈局;4.flex:現(xiàn)代佈局模式,適用於容器,通過(guò)justify-content、align-items等屬性輕鬆實(shí)現(xiàn)對(duì)齊與分佈,是

您如何使用CSS對(duì)SVG進(jìn)行動(dòng)畫(huà)動(dòng)畫(huà)? 您如何使用CSS對(duì)SVG進(jìn)行動(dòng)畫(huà)動(dòng)畫(huà)? Jun 30, 2025 am 02:06 AM

AnimatingSVGwithCSSispossibleusingkeyframesforbasicanimationsandtransitionsforinteractiveeffects.1.Use@keyframestodefineanimationstagesforpropertieslikescale,opacity,andcolor.2.ApplytheanimationtoSVGelementssuchas,,orviaCSSclasses.3.Forhoverorstate-b

什麼是圓錐級(jí)函數(shù)? 什麼是圓錐級(jí)函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

CSS自定義屬性的範(fàn)圍是什麼? CSS自定義屬性的範(fàn)圍是什麼? Jun 25, 2025 am 12:16 AM

CSS自定義屬性的作用域取決於其聲明的上下文,全局變量通常定義在:root中,而局部變量則定義在特定選擇器內(nèi),以便組件化和隔離樣式。例如,定義在.card類(lèi)中的變量?jī)H對(duì)匹配該類(lèi)的元素及其子元素可用。最佳實(shí)踐包括:1.使用:root定義全局變量如主題色;2.在組件內(nèi)部定義局部變量以實(shí)現(xiàn)封裝;3.避免重複聲明同一變量;4.注意選擇器特異性可能引發(fā)的覆蓋問(wèn)題。此外,CSS變量區(qū)分大小寫(xiě),且應(yīng)在使用前定義以避免錯(cuò)誤。若變量未定義或引用失敗,則會(huì)採(cǎi)用回退值或默認(rèn)值initial。調(diào)試時(shí)可通過(guò)瀏覽器開(kāi)發(fā)者工

CSS教程專(zhuān)注於移動(dòng)優(yōu)先設(shè)計(jì) CSS教程專(zhuān)注於移動(dòng)優(yōu)先設(shè)計(jì) Jul 02, 2025 am 12:52 AM

Mobile-firstCSSdesignrequiressettingtheviewportmetatag,usingrelativeunits,stylingfromsmallscreensup,optimizingtypographyandtouchtargets.First,addtocontrolscaling.Second,use%,em,orreminsteadofpixelsforflexiblelayouts.Third,writebasestylesformobile,the

See all articles