css两列布局之基于BFC规则实现
css要实现常见的自适应两列布局的方式方法挺多。
这里讲的是利用设置overflow不为visible时会形成新的BFC来实现。至于什么是BFC,可以搜搜看先,基本都讲的差不多了。等有更多空余时间,专门给讲讲BFC以及实例的东西。就这样吧,上代码:
1 <!-- 利用BFC的overflow hidden实现两列布局--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <title>利用BFC规则实现两栏布局</title> 6 <meta charset="utf8"> 7 <style type="text/css"> 8 * { 9 margin: 0; 10 padding: 0; 11 } 12 .contain { 13 width: 100%; 14 height: 100%; 15 background: grey; 16 color: #fff; 17 } 18 .contain .left { 19 float: left; 20 /*margin-right: 20px;*/ 21 width: 200px; 22 height: 100%; 23 word-wrap: break-word; /* 用于纯数字和英文时能够超出时自动换行*/ 24 background: blue 25 } 26 .contain .right { 27 height: 100%; 28 overflow: hidden; /* 让right成为一个BFC*/ 29 word-wrap: break-word; /* 用于纯数字和英文时能够超出时自动换行*/ 30 background: darkblue; 31 } 32 </style> 33 </head> 34 <body> 35 <!-- CSS2.1规范中已经明确提出,设置overflow属性(非visible)能触发块级格式化上下文(Block Formatting Conext, BFC)。 --> 36 <div class="contain"> 37 <div class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officia quis error ea veniam animi quibusdam, nobis repudiandae consectetur sed? Minus architecto cumque perspiciatis saepe rerum non dolorum voluptates similique, consequuntur.</div> 38 <div class="right">right这里的overflow:hidden不是本来的意思(超出容器内容截取掉不显示),而是利用了BFC规则(overflow不为visible时会创建出一个BFC)</div> 39 </div> 40 </body> 41 </html>
注意代码中最长的那行(37行),这里的文本不是英文,是拉丁文,当然不是我手打的这么多。跟大家分享下,在测试时,想输入一些内容又不知道输入什么,怪难看的时候,可以偷懒。输入lorem,然后tab键出来,除了第一句话时固定的,后面的那段时它随机出来的句子。前提是你的编辑器装有emmit插件,Hbuilder,vscode内置有,直接可用,submit text需要去装插件。记事本就肯定是不行的了,这些都是我亲测的。算是一个小干货吧!其他的,注释也差不多写了,本来代码也很简单,就这么些东西,css需要自己多动手去试,去实现出来。这次随笔就到这儿了,忙的时候质量可能不太好,不过现在开始坚持写一些东西了。
还有就是这是左边固定,右边自适应。右边固定,左边自适应相信你也能轻松搞定吧,这都是小事,想起了,提醒下。这个两列自适应不是两列都是自适应的.
最后,欢迎你的分享交流,欢迎留言你的发现!
谢谢支持,转载或其他用途。请注明出处:https://www.cnblogs.com/singerlee-changealive/