html5和css篇有关浮动以及如何清除浮动

html5和css篇有关浮动以及如何清除浮动,第1张

浮动和盒状模型、定位是CSS重点和难点。浮动,就是让div样式层块,向左或向右(靠)浮动。

Float:left 靠左浮动;Float:right 靠右浮动;clear:both清除浮动,简单举例如下:

CSS样式如下:

.box1{ float:left width:200px height:300px background:#f00}/* 设置div对象浮动靠左*/ 

.box2{ float:rightwidth:200px height:300pxbackground:#0f0}/* 设置div对象浮动靠右 */ 

.clear{ clear:both}/*清除浮动*/

html代码如下:

<div class="divcss5"> 

    <div class="box1">布局靠左浮动</div> 

    <div class="box2">布局靠右浮动</div> 

    <div class="clear"></div><!-- html注释:清除float产生浮动 --> 

</div>

效果如下:

浮动利用好了,再结合相对定位,绝对定位,CSS排版基本上就能搞定了,细节的东西在实践中去体验吧。

<html>

<style type="text/css">

.black_overlay{    

 display: none    

 position: absolutetop: 0%    

 left: 0%    

 width: 100%    

 height: 100%    

 background-color: black    

 z-index:1001    

 -moz-opacity: 0.8    

 opacity:.80    

 filter: alpha(opacity=80)      

}    

.white_content{    

 display: none    

 position: absolute    

 top: 25%  left: 25%    

 width: 50%    

 height: 50%    

 padding: 16px    

 border: 16px solid black    

 background-color: white    

 z-index:1002    

overflow:auto    

}    

</style>

<script type="text/javascript">

</script>

    <body>

    

    <input type="button" text="d出层" onClick="document.getElementById('light').style.display='block'document.getElementById('fade').style.display='block'">

    

        <div id="light" class="white_content">    

   <a href="#" onClick="document.getElementById('light').style.display='none'document.getElementById('fade').style.display='none'" style="color:blackz-index:9999">Close</a>    

<div style="width:715pxheight:360pxborder:#ccc solid 1px" id="dituContent">

这里就是d出的内容

</div>    

</div>    

    </body>

</html>

就是这样的。使用postion属性和层的隐藏和显示就实现啦

1、使用clear:both清除浮动

在代码中在放一个空的div标签,然后给这个标签设置clear:both来清除浮动对页面的影响。

优点:简单,方便兼容性好

缺点:因为会造成结构混乱,不利于后期维护

建议:一般情况下不建议使用该方法

2、利用伪元素clearfix来清除浮动

给父级元素添加了一个:after伪元素,通过清除伪元素的浮动,达到撑起父元素高度的目的

.clearfix:after {

display: block

clear: both

content: ""

visibility: hidden

height: 0

}

.clearfix { zoom: 1}

原理:IE8以上和非IE浏览器才支持:after,zoom(IE转有属性)可解决ie6,ie7浮动问题

优点:浏览器支持好,不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)

缺点:代码多,不少初学者不理解原理,要两句代码结合使用,才能让主流浏览器都支持

建议:推荐使用,建议定义在公共类,以减少css代码

3、父级div定义overflow方法

当给父元素设置了overflow样式,不管是overflow:hidden或overflow:auto都可以清除浮动只要它的值不为visible就可以了。

.parent-container {

/* other style... */

overflow: hidden

}

原理:它的本质就是建构了一个BFC,这样使得达到撑起父元素高度的效果。

优点:简单,代码少,浏览器支持好

缺点:不能和position配合使用,因为超出的尺寸的会被隐藏

建议:只推荐没有使用position或对overflow:hidden理解比较深的朋友使用

4、双伪元素方法的使用

通过给父元素设置双伪元素来达到清除浮动的效果,即添加:before和:after伪元素。

.clearfix:before,.clearfix:after {

content: ""

display: block

clear: both

}

与方法2相同


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6275058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存