围住浮动元素的三种方法

围住浮动元素的三种方法

<section>
         <imgsrc=”images/rubber_duck2.jpg”>
         <p>It’sfun to float.</p>
</section>
<footer>
         Hereis the footer element.
</footer>


(1)、为父元素添加overflow:hidden

overflow:hidden主要用户保持元素之前设置的宽度,而超大的子内容则会被容器剪切掉,其另一个作用是可靠地迫使父元素包含其浮动的子元素。

section {
         border:1px solid blue;
         margin:0 0 10px 0;
         overflow:hidden;    
}
img {
         float:left;
}
p {
         border:1px solid red;
}


(2)、为父元素设置浮动,该元素之后非浮动元素设置clear:both

当父元素A设置为浮动时,它都会紧紧包围(也称收缩包裹)住它的子元素,所以为A元素之后的元素B设置clear:both属性,就会迫使元素B留在A的下面。

section {
         border:1px solid blue;
         float:left;
         width:100%;
}
img {
         float:left;
}
footer {
         border:1px solid red;
         clear:left;
}


(3)、添加非浮动的清除元素

由于包含元素一定会包围非浮动的子元素,而且清除会让这个子元素位于(清除一侧)浮动元素的下方,因此包含元素一定会包含这个子元素,以及前面的浮动元素。

<1>、法一:直接在已有HTML标记中为父元素添加一个子元素,并给它应用clear属性。

<style>
section {
        
}
</style>
section{
         border:1px solid blue;
}
img {
         float:left;
}
.clear_me {
         clear:left;
}
footer {
         border:1px solid red;
}
 
<section>
         <imgsrc=”images/rubber_duck2.jpg”>
         <p>It’sfun to float.</p>
	 <div class=”clear_me”></div>
</section>
<footer>
         Hereis the footer element.
</footer>


<2>、法二:通过:after伪类达到跟<1>相同的效果

<section class=”clearfix”>
         <imgsrc=”images/rubber_duck2.jpg”>
         <p>It’sfun to float.</p>
</section>
<footer>
         Hereis the footer element.
</footer>
.clearfix:after {
         content:“.”;
         display:block;
         height:0;
         visibility:hidden;
         clear:both;
}


注:以上内容摘自《CSS设计指南》。觉得方法不错,摘录出来与大家共同学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值