css中為什么需要浮動(dòng)?

使用css進(jìn)行布局,我們都知道浮動(dòng),那么我們?yōu)槭裁匆褂酶?dòng)呢?下面我們就以京東登錄界面頂部的布局來(lái)討論這個(gè)問(wèn)題。下圖是我們寫(xiě)好的京東登錄界面。

在頂部布局中,代碼如下

html代碼

<header>

<divclass="header-content">

<ahref="index.html"class="logo">a>

<span>歡迎登錄span>

<divclass="login"><i>i><ahref="#">登錄頁(yè)面,調(diào)查問(wèn)卷a>div>

div>

header>

css代碼

公共樣式index.css

html,body,header,main,nav,aside,article,summary,details,footer,p,img,ul,li,ol,dl,dd,dt,

h1,h2,h3,h4,h5,section{

margin:0;

padding:0;

}

html,body{

width:100%;

font-family:"Microsoft YaHei","Hiragino Sans GB";

color:#666;

}

ul,ol,li{

list-style:none;

}

a{

text-decoration:none;

}

h3{font-weight:normal}

登錄界面樣式login.css

*{

-webkit-box-sizing:border-box;

-moz-box-sizing:border-box;

/*標(biāo)準(zhǔn)盒子模型*/box-sizing:border-box;

}

header{

width:100%;

height:80px;

}

header.header-content{

box-sizing:border-box;

width:990px;

height:80px;

margin:0auto;

vertical-align:middle;

/*background-color: red;*/}

header.header-content.logo{

float:left;width:160px;

height:60px;

/*左,上*/background:url("../image/icon.png")no-repeat0 15px;

}

header.header-content span{float:left;

font-size:24px;

padding-left:30px;

padding-top:20px;

}

header.header-content.login{

float:right;

font-size:12px;

margin-top:55px;

padding-bottom:5px;

font-family:Arial,Verdana,"\5b8b\4f53";

}

header.header-content.login i{

display:inline-block;

width:18px;

height:16px;

margin:0 5px;

background:url("../image/msg-icon.png")no-repeat;

}

header.header-content.login a{

color:#999;

position:relative;

top: -5px;

}

header.header-content.login a:hover{

color:#E4393C;

text-decoration:underline;

}

由上述代碼,我們可以看到在對(duì)頂部的左側(cè)“京東圖標(biāo)”,“歡迎登錄”設(shè)置左浮動(dòng),對(duì)右側(cè)的“登錄頁(yè)面,調(diào)查問(wèn)卷”設(shè)置右浮動(dòng)。那么如果我們不設(shè)置浮動(dòng)會(huì)有什么效果呢?

當(dāng)我們把header.header-content.logoheader.header-content span的左浮動(dòng)關(guān)掉,此時(shí)頂部左側(cè)顯示的效果為:

此時(shí)我們可以看到出現(xiàn)2個(gè)問(wèn)題

1.京東的圖標(biāo)不見(jiàn)了

2.“歡迎登錄”跑到左邊了

京東圖標(biāo)是通過(guò)標(biāo)簽a顯示的。a是行內(nèi)元素,在文檔流中的時(shí)候因?yàn)槭?a target="_blank" rel="nofollow">行內(nèi)元素所以無(wú)法設(shè)置寬高;而當(dāng)設(shè)置了絕對(duì)定位或者浮動(dòng),會(huì)生成塊框(即變成塊元素),所以就可以設(shè)置寬高了。這里把行內(nèi)元素a的浮動(dòng)關(guān)閉,會(huì)導(dǎo)致a標(biāo)簽設(shè)置的寬和高是無(wú)效的,所以京東的圖標(biāo)就不會(huì)顯示。

“歡迎登陸”是通過(guò)span標(biāo)簽顯示的,span也是行內(nèi)元素。行內(nèi)元素會(huì)在一條直線上,是在同一行的。當(dāng)顯示京東圖標(biāo)的a標(biāo)簽消失,此時(shí)span的左浮動(dòng)也關(guān)閉,所以span就會(huì)按照行內(nèi)元素的默認(rèn)狀態(tài),顯示在一行的最左側(cè)。

使用浮動(dòng)可以是行內(nèi)元素變?yōu)?a target="_blank" rel="nofollow">塊級(jí)元素,浮動(dòng)是一把雙刃劍,我們要注意一點(diǎn),能不使用浮動(dòng),則不要使用浮動(dòng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容