两列自适应布局的思路

2019-08-14 09:38:31来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

两列自适应布局是指一列由内容撑开,另一列撑满剩余宽度的布局方式,但仍有很多人对两列自适应布局不了解的,现在跟随爱站上班去看看两列自适应布局的思路分别有哪些。

思路一: float

在单列定宽单列自适应的两列布局中,经常用float和负margin配合实现布局效果。但由于margin取值只能是固定值,所以在两列都是自适应的布局中就不再适用。而float和overflow配合可实现两列自适应效果。使用overflow属性来触发bfc,来阻止浮动造成的文字环绕效果。由于设置overflow:hidden并不会触发IE6-浏览器的haslayout属性,所以需要设置zoom:1来兼容IE6-浏览器

CSS Code复制内容到剪贴板
  1. <style> ??
  2. p{margin:?0;} ??
  3. .parent{overflow:?hidden;zoom:?1;} ??
  4. .left{float:?left;margin-right:?20px;}???? ??
  5. .rightright{overflow:?hidden;zoom:?1;} ??
  6. </style>??

?

XML/HTML Code复制内容到剪贴板
  1. <div?class="parent"?style="background-color:?lightgrey;">??
  2. ????<div?class="left"?style="background-color:?lightblue;">??
  3. ????????<p>left</p>??
  4. ????</div>??
  5. ????<div?class="right"??style="background-color:?lightgreen;">??
  6. ????????<p>right</p>??
  7. ????????<p>right</p>??
  8. ????</div>???????? ??
  9. </div>??

?思路二: table

若table元素不设置table-layout:fixed,则宽度由内容撑开。在某个table-cell元素的外层嵌套一层div,并设置足够小的宽度如width:0.1%

CSS Code复制内容到剪贴板
  1. <style> ??
  2. p{margin:?0;} ??
  3. .parent{display:table;width:100%;} ??
  4. .leftWrap{display:table-cell;width:0.1%;} ??
  5. .left{margin-right:?20px;}???? ??
  6. .rightright{display:table-cell;} ??
  7. </style>??

?

XML/HTML Code复制内容到剪贴板
  1. <div?class="parent"?style="background-color:?lightgrey;">??
  2. ????<div?class="leftWrap"?style="background-color:?pink;">??
  3. ????????<div?class="left"?style="background-color:?lightblue;">??
  4. ????????????<p>left</p>??
  5. ????????</div>???????? ??
  6. ????</div>??
  7. ????<div?class="right"??style="background-color:?lightgreen;">??
  8. ????????<p>right</p>??
  9. ????????<p>right</p>??
  10. ????</div>???????? ??
  11. </div>??

思路三: flex

flex弹性盒模型是非常强大的布局方式。基本上,一般的布局方式都可以实现

[注意]IE9-不支持
?

CSS Code复制内容到剪贴板
  1. <style> ??
  2. p{margin:?0;} ??
  3. .parent{display:flex;}?? ??
  4. .rightright{margin-left:20px;?flex:1;} ??
  5. </style>??

?

XML/HTML Code复制内容到剪贴板
  1. <div?class="parent"?style="background-color:?lightgrey;">??
  2. ????<div?class="left"?style="background-color:?lightblue;">??
  3. ????????<p>left</p>??
  4. ????</div>???????? ??
  5. ????<div?class="right"??style="background-color:?lightgreen;">??
  6. ????????<p>right</p>??
  7. ????????<p>right</p>??
  8. ????</div>???????? ??
  9. </div>??

以上这篇两列自适应布局的思路是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持爱站技术频道。


原文链接:https://js.aizhan.com/web_authoring/css/6111.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:div居于页面正中间的实现方法

下一篇:关于条件CSS的介绍