css清除浮动
2018-06-24 01:19:14来源:未知 阅读 ()
css设计浮动属性的主要目的,是为了实现文本绕排图片的效果。
一.浮动
当浮动一张图片或者其他元素时,浏览器会将浮动元素往上方推,直到它碰到父元素的内边界。后面的元素不再认为浮动元素在文档流中位于它的前面了,因为它就会占据父元素左上角的位置。
值得说明的是:css在呈现元素的时候都要将元素生成矩形盒子,这个矩形盒子实际上分为内容和边框组成的上 半部分,以及背景颜色和背景图片组成的下半部分,浮动只是浮动起半层,所以从浏览器中看到文本会绕开浮动的图片。
二.清除浮动之围住浮动元素的三种方法
例如html:
<section> <img src="images/travel2.jpg" alt=""> <p>浮动很有趣</p> </section> <footer>这里是底部的元素,存放一些文字。</footer>
css:
section{border:1px solid blue;margin:0 0 10px 0;} p{margin:0;} footer{border: 1px solid red;}
得到如图:
当给图片添加做浮动后:
产生上面效果的原因是:图片浮动之后,section就不再包围浮动元素了,它只包围非浮动元素。所以footer元素被提上来。然而这并不是我们想要的效果,解决办法如下:
方法一:为父元素添加overflow:hidden;
说明:overflow:hidden声明的真正用途是防止包含元素被超大的内容撑大。应用overflow:hidden之后,包含元素依然保持其设定的宽度,而超大的自内容会被容器剪切掉。这里是它的另一个作用,即它能可靠的迫使父元素包含其浮动的子元素。
方法二:同时浮动父元素
section{border:1px solid blue;margin:0 0 10px 0;float: left;width: 100%;} p{margin:0;} footer{border: 1px solid red;clear: both;} img{float: left;}
浮动section之后,不管其子元素是否浮动,它都会紧紧地包围住它的子元素。这里父元素宽度设置为100%;如果不设置,p还是会在图片下边。
方法三:添加非浮动的清除元素
<section>
<img src="images/travel2.jpg" alt="">
<p>浮动很有趣</p>
<div style="clear: both;"></div>
</section>
<footer>这里是底部的元素,存放一些文字。</footer>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash