搜尋
首頁web前端css教學詳細分析css float 屬性以及position:absolute 的區別_基礎教程

1.float 屬性定義元素在哪個方向浮動。以往這個屬性總應用於圖像,使文字圍繞在圖像周圍,不過在 CSS 中,任何元素都可以浮動。浮動元素會產生一個區塊級框,而不論它本身是何種元素。 div一個典型的區塊級元素,會單獨佔據一行。

先看看最基本的區塊級元素如何排列的。 html程式碼,以下樣式都是基於此。

複製程式碼 程式碼如下:

        phpcnltphp class="box1">
        框1
       

           

       

        框3
       


gtphpcn

css代碼:

複製程式碼 程式碼如下:

.boxBg{
    margin: 0 auto;
    width:500px;
    height:200px;
    border:2px solid #ccc
    }
  background-color:red
    }
    .box2{
    width:100px;
    height:50px;
    background-color:blue
  width:100px;
    height:50px;
    background-color:green
    }

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

由於div是區塊級元素,所以框會以縱向形式排列。在實際操作中往往需要將框橫向排列。有兩種方式可以實現。第一種將display:inlin-block;

複製程式碼 程式碼如下:

.boxBg{
    margin: 0 auto;
    width:500px;
    heightorder:200pxg

    }
    .box1{
    width:100px;
    height:50px;
    background {
    width:100px;
    height:50px;
    background-color:blue;
    display:inline-block
box. BR>    height:50px;
    background-color:green;
    display:inline-block
    }

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

至於中間的縫隙,追溯到本質原因是元素之間的空白符引起的,所以在父元素設定fone-size的大小,可以調節空白縫隙的大小。

複製程式碼 程式碼如下:

.boxBg{
    margin: 0 auto;
    width:500px;
    height:200px;
    border:2px solid #ccc;
    font-size:34px;
>ccc;
    font-size:34px;
>
P>P>P}>

將font-size:34px之後,那麼縫隙就會變寬。

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

同理,要去掉縫隙,那就需要將font-size:0;

複製程式碼 程式碼如下:

.boxBg{
    margin: 0 auto;
    width:500px;
    height:200px;
    border:2px solid #ccc;
    font-size:0
}

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

如此便實現了想要的佈局,框裡邊的文字也跟著消失了,同樣也證明文字的大小影響縫隙。只需要在子元素裡重新設定就可以了。當然今天的重點不是這個。同樣的效果float:left;也可以輕鬆實現。

複製程式碼 程式碼如下:



執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

如果使用inline-block,結果會是怎麼樣呢?

複製程式碼 程式碼如下:


.box3{
    width:100px;    height:50px;
    background-color:green;
}

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

為何框3的文字會出現在下邊而不是被框1覆蓋?接著看程式碼,看圖

複製程式碼 程式碼如下:

.box3{
    height:50px;    background-color:green;
}

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

看出不一樣了沒?是的。 box3沒有定義width;去掉了width,不定義寬度的情況下預設寬度就是父元素的寬度,也就是說此時width:500px;浮動元素覆蓋非浮動元素,也就是框3前邊200px的寬度被浮動元素覆蓋了,之所以文字沒有被覆蓋而且文字被浮動元素擠在200px之後的位置,原因呢?

  浮動元素不會佔據區塊的空間,所以框三就是100%的父容器寬度 500px,但是浮動元素會佔據另外的空間,也就是行框空間,通俗的講就是文本所佔的空間。

這也是圖片float之後,文字會自動環繞圖片的原因。浮動元素不佔據塊級空間,但會影響塊級元素之內的文字以及內聯元素。

如此的話如果想要三個框寬度一樣,那麼只需要將框三width:300px;

複製程式碼 程式碼如下:

.box3{
    width:300px;    height:50px;
    background-color:green;
}

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

到這裡基本的浮動說完了,那就要說說問題了,浮動雖然好用,但是也會在實際中出現很多問題。例如:

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

很常見的問題,正常情況下。應該灰色的背景會跟框一樣高,可事實總是不會盡如人意 :)

這種情況產生的原因,都知道是因為浮動造成的,是的,是浮動,很多地方有說浮動元素會脫離普通流,所以普通元素可以當浮動元素不存在,所以這裡就不會撐開背景了,但是認真看的同學,一定會記得上邊有提到浮動元素不會影響塊框,但是會影響行框,也就是文字或內聯元素,不管是塊級元素還是內聯元素都屬於普通流,如果浮動元素脫離普通流又為何會影響行框?其實我覺得不必要糾結於這些概念性的東西。依照我的理解浮動元素就是跟塊級元素不在一個水平空間,跟文字內聯元素在一個空間,所以這裡邊框就相當於在背景之上,所以不會影響背景元素,平常所說的清除浮動,並不是說把浮動元素的float屬性去掉,而是清除其周圍的浮動元素,使其自身周圍沒有浮動元素,所以如果想讓框三到第二行,不能在框2裡邊用clear:right;而是需要在框3裡邊使用clear:left;

複製程式碼 程式碼如下:

.box3{
    float:left;    width:100px;
    height:50px;
    background-color:green;
    clear:left
    }

執行結果:

詳細分析css float 屬性以及position:absolute 的區別_基礎教程

ok!理解了這個,下來再說說如何使背景和框等高,第一種:最直接的辦法就是直接設置背景高度和框相等就Ok了,當然這個不是重點,下面來說說清除浮動。首先先來看看例子:

複製程式碼 程式碼如下:



phpcnlt

     

     /div>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
float最大值为多少float最大值为多少Oct 11, 2023 pm 05:54 PM

float最大值:1、在C语言中,float最大值是3.40282347e+38,根据IEEE 754标准,float类型的最大指数为127,尾数的位数为23,通过这种方式,最大浮点数为3.40282347e+38;2、在Java语言中,float最大值是3.4028235E+38;3、在Python语言中,float最大值是1.7976931348623157e+308。

float精度能到多少float精度能到多少Oct 17, 2023 pm 03:13 PM

float精度能到6到9位小数。根据IEEE754标准,float类型可以表示的有效数字位数为大约6到9位。需要注意的是,这只是理论上的最大精度,实际使用中由于浮点数的舍入误差,float类型的精度往往会更低。在计算机中进行浮点数运算时,由于浮点数的精度限制,可能会出现精度损失的情况。为了提高浮点数的精度,可以使用更高精度的数据类型,如double或者long double。

c语言中float什么意思c语言中float什么意思Oct 12, 2023 pm 02:30 PM

C语言中的float是一种数据类型,用于表示单精度浮点数,浮点数是一种用科学计数法表示的实数,可以表示非常大或非常小的数值。float类型的变量可以存储小数点后6位有效数字的数值,在C语言中,使用float类型可以进行浮点数的运算和存储,其变量可以用于表示小数、分数、科学计数法等需要精确表示的实数,与整数类型不同,浮点数可以表示小数点后的数字,并且可以进行小数的四则运算。

数据库float长度有哪些数据库float长度有哪些Oct 10, 2023 pm 03:57 PM

常见的数据库float长度有:1、MySQL中的float类型长度,可以是4个字节或8个字节;2、Oracle中的float类型长度,可以是4个字节或8个字节;3、SQL Server中的float类型长度,固定为8个字节;4、PostgreSQL中的float类型长度,可以是4个字节或8个字节等等。

float属性取值有哪些float属性取值有哪些Oct 10, 2023 pm 02:03 PM

float属性取值有left、right、none、inherit、clearinline-start和inline-end。详细介绍:1、left,元素向左浮动,即元素会尽可能地靠近容器的左边,其他元素会围绕在其右侧;2、right,元素向右浮动,即元素会尽可能地靠近容器的右边,其他元素会围绕在其左侧;3、none默认值,元素不浮动,会按照正常的文档流排列等等。

float32字节包括哪些float32字节包括哪些Oct 10, 2023 pm 04:07 PM

float32字节包括符号位、指数位和尾数位,用于表示32位浮点数。详细介绍:1、符号位(1位),用来表示数字的正负,0表示正数,1表示负数;2、指数位(8位),用来表示浮点数的指数部分,通过指数位,可以调整浮点数的大小范围;3、尾数位(23位),用来表示浮点数的尾数部分,尾数位存储了浮点数的小数部分。符号位决定了浮点数的正负,指数位和尾数位共同决定了浮点数的大小和精度。

float和double有什么区别float和double有什么区别Oct 11, 2023 pm 05:38 PM

float和double区别主要在于精度、存储和计算速度、范围以及在编程语言中的使用。详细介绍:1、精度不同,Float是单精度浮点数,占用4个字节(32位),而double是双精度浮点数,占用8个字节(64位);2、存储和计算速度不同,double占用的空间更大,需要更多的存储空间来存储数值,在需要高性能和速度的应用程序中,使用float类型可能会更加高效;3、范围不同等等。

如何将string转换成float如何将string转换成floatOct 16, 2023 pm 02:03 PM

可以通过Python、JavaScript、Java、C#、Ruby和PHPstring转换成float。详细介绍:1、Python,输入float_number = float(string_number);2、JavaScript,输入float_number = parseFloat(string_number);;3、Java等等。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser

Safe Exam Browser

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