CSS浮动
2018-07-06 01:49:29来源:博客园 阅读 ()
浮动到底是什么?
它既不是position,但又不在标准流里,那么它究竟是怎么定位的?
浮动一开始作为文字环绕图片产生
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Document</title> <style type="text/css"> img { width: 60px; float: right; margin: 20px; } .aside{ float: right;width: 15em;margin: 0 1em 1em;padding: 0.25em;border:1px solid; } </style> </head> <body> <img src="icon_head.png" alt="icon_head.png"/> <p >我是测试文字1我是测试文字我是测试文字2我是测试文字我是测3试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我4是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文5字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测6试文字我是测试</p> <p class="aside"> 这又是另一端蚊子了 </p> <p >我是测试文字1我是测试文字我是测试文字2我是测试文字我是测3试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我4是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文5字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测试文字我是测6试文字我</p> </body> </html>
(如果看不到环绕效果,试试把窗口变小)
float不在标准流,但却会在标准流占位
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Document</title> <style type="text/css"> .float{float: left; background: red; margin: 10px;} .bg{background: green;} </style> </head> <body> <div>不浮动元素</div> <div class="float">浮动元素</div> <div class="bg">不浮动元素</div> </body> </html>
这个占位很神奇,浮动元素在下一元素的盒模型内,有点像ps添加了一个层,但这个层不是简单覆盖,而是告诉下一层这个位置我占了,你往旁边去吧!
还有,行内元素被设置浮动后,可以设置高度和宽度,这是为什么呢?
这个行内元素就像被设置成inline-block一样,但和inline-block比又多了浮动的功能,具体原因还不清楚待查
那么浮动到底按照什么顺序组合的?
我们来看代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Document</title> <style type="text/css"> ul{list-style: none;width: 350px;} ul li{float:left;margin:4px;} img { vertical-align: top; } </style> </head> <body> <ul> <li><img src="http://placehold.it/100x100&text=1"/></li> <li><img src="http://placehold.it/100x150&text=2"/></li> <li><img src="http://placehold.it/100x100&text=3"/></li> <li><img src="http://placehold.it/100x100&text=4"/></li> <li><img src="http://placehold.it/100x100&text=5"/></li> <li><img src="http://placehold.it/100x150&text=6"/></li> <li><img src="http://placehold.it/100x100&text=7"/></li> </ul> </body> </html>
总的来说就是,浮动元素会移到左侧或右侧。除非该元素前面还有一个浮动元素,这时它就会紧挨着前面的元素。
真正让人迷惑的是:浮动元素会尽可能的居顶,并且垂直定位规则比水平浮动规则的优先级更高。
在这个例子中,图片2撑高了该行的高度,所以在放完图片3后,仍然有足够的垂直空间放置图片4。
记住,当你有一个浮动元素(不位于尾行)时,它后面的浮动元素占用的垂直空间必须大于或等于它才会触发换行。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:css中的相对定位和绝对定位
下一篇:移动端,点击之后某个区域后有阴影
- 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