• 浮动相关理解,以及清除浮动的方法总结


     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4 <title>清除浮动</title>
     5 <meta charset="utf-8">
     6 <style>
     7 body { margin:0; padding:0; font:normal 12px/1.5em "Microsoft Yahei", Verdana, Arial, Helvetica, sans-serif;}
     8 
     9 /*.cf { *zoom: 1;}
    10 .cf:after{ content: " "; clear: both; display: table;}*/
    11 .box { position: absolute;  border: 10px solid #333 }
    12 .redBlock { width:400px; height: 400px; float: left; background-color: red}
    13 .blueBlock { width:400px; height: 400px; float: left; background-color: blue}
    14 .greenBlock { width:1000px; height: 200px; background-color: green}
    15 
    16 /*
    17 清除浮动(准确的说是清除浮动影响)的一些方法:
    18 
    19 1、给浮动的父级元素设置高度;// 这个高度值是可以包裹浮动元素的高度;
    20 2、给父级元素添加overflow:hidden属性;
    21 3、使用clear:both ,在浮动元素的尾部添加一个div,然后给其设置clear:both,不推荐
    22 4、使用after伪类清除浮动;最佳实践代码:
    23 .cf { *zoom: 1;}
    24 .cf:before,
    25 .cf:after{ content: " "; clear: both; display: table;}
    26 
    27 其他关于浮动的问题:
    28 5、浮动产生的影响会使下一个元素产生位置上的偏移,但是其包裹的内容还是会展现出来,
    29    所以理解为:浮动并不是脱离文档流,浮动元素同时处于流内和流外,不同于定位的那种;
    30    也就是说,背景会滑动到浮动元素之下,而内容不会;(见例子,浮动的影响)
    31 
    32    // 5.25号更新理解: 其实这里的内容会展现出来的原因是因为,浮动的本质是让字符环绕,
    33    (这里的字符包括&nbsp;还有空格符)
    34    在设计之初的时候的时候并不是用于布局。
    35 
    36 6、父级添加了position:absolute属性,可以包裹住浮动元素,但是却不能消除浮动元素产生的影响,见本例;但是这里因为设置了absolute值,脱离了文档流,所以绿色盒子里面的内容就被遮住了,原来只有浮动是遮不住的;
    37 
    38 */
    39 </style>
    40 </head>
    41 
    42 <body>
    43 <div class="box">
    44 <div class="redBlock">博客的左侧</div>
    45 <!-- <div class="clear"></div> -->
    46 <div class="blueBlock">博客的右侧</div>
    47 </div>
    48 <div class="greenBlock">博客的版权信息<div>内容内容容内容容内容容内容容内容</div></div>
    49 
    50 
    51 </body>
    52 </html>
  • 相关阅读:
    转载 Markdown 写法 直接考代码 反正博客园支持
    最全的ADB命令行大全(转)
    Python 帮你玩微信跳一跳 GitHub Python脚本
    React中setState的怪异行为 ——setState没有即时生效
    详解es6中Proxy代理对象的作用
    react-router和react-router-dom的区别
    webpack4 Cannot find module '@babel/core'
    vue-devtools的安装与使用
    Vuex的mapGetters方法使用报错
    vuex直接修改state 与 用commit提交mutation来修改state的差异
  • 原文地址:https://www.cnblogs.com/zhangxg/p/4528973.html
Copyright © 2020-2023  润新知