Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
么是浮動(dòng)塌陷?
當(dāng)子元素設(shè)置浮動(dòng)時(shí),父元素中所有孩子盒子都是float,則父容器的高度為0。
1.在父親盒子中的最下邊添加一個(gè)空div盒子,并設(shè)置clear為相應(yīng)的值,如果不清除塌陷,那么父元素高度為0,給ul設(shè)置高度就沒(méi)有效果。
clear常見取值如下:
left:清除左側(cè)浮動(dòng)引起的塌陷;
right:清除右側(cè)浮動(dòng)引起的塌陷;
both:清除左右兩側(cè)浮動(dòng)引起的塌陷。
2.
天小編為大家介紹五種css樣式布局以及內(nèi)服源代碼作為介紹,采用的方式是行內(nèi)級(jí)樣式(就是將css樣式代碼與html寫在一起)
已知布局元素的高度,寫出三欄布局,要求左欄、右欄寬度各為300px,中間自適應(yīng)。
一、浮動(dòng)布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>浮動(dòng)布局</title>
<style type="text/css">
.wrap1 div{
min-height: 200px;
}
.wrap1 .left{
float: left;
width: 300px;
background: red;
}
.wrap1 .right{
float: right;
width: 300px;
background: blue;
}
.wrap1 .center{
background: pink;
}
</style>
</head>
<body>
<div class="wrap1">
<div class="left"></div>
<div class="right"></div>
<div class="center">
浮動(dòng)布局
</div>
</div>
</body>
</html>
浮動(dòng)布局的兼容性比較好,但是浮動(dòng)帶來(lái)的影響比較多,頁(yè)面寬度不夠的時(shí)候會(huì)影響布局。
二、絕對(duì)定位布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>絕對(duì)定位布局</title>
<style type="text/css">
.wrap2 div{
position: absolute;
min-height: 200px;
}
.wrap2 .left{
left: 0;
width: 300px;
background: red;
}
.wrap2 .right{
right: 0;
width: 300px;
background: blue;
}
.wrap2 .center{
left: 300px;
right: 300px;
background: pink;
}
</style>
</head>
<body>
<div class="wrap2 wrap">
<div class="left"></div>
<div class="center">
絕對(duì)定位布局
</div>
<div class="right"></div>
</div>
</body>
</html>
絕對(duì)定位布局快捷,但是有效性比較差,因?yàn)槊撾x了文檔流。
三、flex布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>flex布局</title>
<style type="text/css">
.wrap3{
display: flex;
min-height: 200px;
}
.wrap3 .left{
flex-basis: 300px;
background: red;
}
.wrap3 .right{
flex-basis: 300px;
background: blue;
}
.wrap3 .center{
flex: 1;
background: pink;
}
</style>
</head>
<body>
<div class="wrap3 wrap">
<div class="left"></div>
<div class="center">
flex布局
</div>
<div class="right"></div>
</div>
</body>
</html>
自適應(yīng)好,高度能夠自動(dòng)撐開
四、table-cell表格布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>table-cell表格布局</title>
<style type="text/css">
.wrap4{
display: table;
width: 100%;
height: 200px;
}
.wrap4>div{
display: table-cell;
}
.wrap4 .left{
width: 300px;
background: red;
}
.wrap4 .right{
width: 300px;
background: blue;
}
.wrap4 .center{
background: pink;
}
</style>
</head>
<body>
<div class="wrap4 wrap">
<div class="left"></div>
<div class="center">
表格布局
</div>
<div class="right"></div>
</div>
</body>
</html>
兼容性好,但是有時(shí)候不能固定高度,因?yàn)闀?huì)被內(nèi)容撐高。
五、網(wǎng)格布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>網(wǎng)格布局</title>
<style type="text/css">
.wrap5{
display: grid;
width: 100%;
grid-template-rows: 200px;
grid-template-columns: 300px auto 300px;
}
.wrap5 .left{
background: red;
}
.wrap5 .right{
background: blue;
}
.wrap5 .center{
background: pink;
}
</style>
</head>
<body>
<div class="wrap5 wrap">
<div class="left"></div>
<div class="center">
網(wǎng)格布局
</div>
<div class="right"></div>
</div>
</body>
</html>
希望大家可以一直關(guān)注我,支持我!感謝!!!
篇文章我們說(shuō)了元素的浮動(dòng),本篇文章主要介紹下css浮動(dòng)帶來(lái)的影響,以及如何清除浮動(dòng)。
細(xì)心的人可能發(fā)現(xiàn)了,在我們上篇文章寫的導(dǎo)航條中存在一個(gè)問(wèn)題,那就是使用了float之后,父級(jí)盒子的高度變?yōu)?了。我們來(lái)寫一個(gè)例子來(lái)看一下,創(chuàng)建一個(gè)父級(jí)div,并設(shè)置border屬性,然后下邊創(chuàng)建兩個(gè)子元素span,并設(shè)置浮動(dòng)。具體代碼如下所示:
由上圖可以看出,在給span添加了float之后,父級(jí)元素div的高度就變成了0。我們有以下幾種方式來(lái)解決這個(gè)問(wèn)題
原理:如果父級(jí)元素沒(méi)有定義高度,父元素的高度完全由子元素?fù)伍_時(shí),父級(jí)div手動(dòng)定義height,就解決了父級(jí)div無(wú)法自動(dòng)獲取到高度的問(wèn)題。
優(yōu)點(diǎn):簡(jiǎn)單、代碼少、容易掌握。
缺點(diǎn):只適合高度固定的布局,要給出精確的高度,如果高度和父級(jí)div不一樣時(shí),會(huì)產(chǎn)生問(wèn)題。對(duì)于響應(yīng)式布局會(huì)有很大影響。
原理:添加一個(gè)空div,利用css提高的clear:both清除浮動(dòng),讓父級(jí)div能自動(dòng)獲取到高度。
優(yōu)點(diǎn):簡(jiǎn)單、代碼少、瀏覽器支持好、不容易出現(xiàn)怪問(wèn)題
缺點(diǎn):不少初學(xué)者不理解原理;如果頁(yè)面浮動(dòng)布局多,就要增加很多空div,不利于頁(yè)面的優(yōu)化。
原理:元素生成偽類的作用和效果相當(dāng)于方法2中的原理,但是IE8以上和非IE瀏覽器才支持:after,zoom(IE轉(zhuǎn)有屬性)可解決ie6,ie7浮動(dòng)問(wèn)題
優(yōu)點(diǎn):瀏覽器支持好、不容易出現(xiàn)怪問(wèn)題,寫法是固定的,不理解也可以直接復(fù)制使用;(小編大力推薦使用此種方法,簡(jiǎn)單便捷,只需添加一個(gè)class即可解決問(wèn)題)
缺點(diǎn):css代碼多、不少初學(xué)者不理解原理,要兩句代碼結(jié)合使用才能讓主流瀏覽器都支持。
優(yōu)點(diǎn):簡(jiǎn)單、代碼少、瀏覽器支持好
缺點(diǎn):不能和position配合使用,因?yàn)槌龅某叽绲臅?huì)被隱藏。(不建議使用此種方式,可能會(huì)影響頁(yè)面元素布局)
好了,本篇文章就給大家說(shuō)到這里,大家自己下來(lái)可以這幾種方式都試一試,自己感覺下哪種更適合自己,小編一直使用的是第3種方式。
每日金句:這次本來(lái)可以咸魚翻身的,沒(méi)想到粘鍋了。喜歡我的文章的小伙伴記得關(guān)注一下哦,每天將為你更新最新知識(shí)。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。