css – 3列,中间有宽度

前端之家收集整理的这篇文章主要介绍了css – 3列,中间有宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要一个由三个相邻的div组成的布局。 Side div具有静态宽度(可能会通过javascript更改),center div填充剩余区域。当第一个div的大小改变时,它只影响中心的大小。它与由三列组成的表(动态渲染)类似。

好的,但问题在哪里
问题是如果我将浮动左div放入第一列,并在第二和第三列中阻止div,则块div以奇怪的方式表现。它们在第一列的浮动div之下的列中。

一个例子。
在第一列和第二列中,我有浮动div,并在第三列中显示块div。块div在浮动div的高度左右移动。中心列中的div不会在其位置移动,只有它具有浮动左属性

我想让三个布局div中的每一个彼此独立。我不知道为什么第三列中的元素在前两列中浮动了div(带有float属性)。

码:

  1. <div style="margin: auto; display: table; width: 260px;">
  2. <div style="display: table-row;">
  3. <div style="display: table-cell; width: 100px;">
  4.  
  5. <div style="float: left; width: 40px; height: 50px;">COL1</div>
  6.  
  7. </div>
  8. <div style="display: table-cell;">
  9.  
  10. <div style="float: left; height: 50px; width: 40px;">COL2</div>
  11.  
  12. </div style="display: table-cell; width: 100px;">
  13. <div class="sideContainer">
  14.  
  15. <div>COL3</div>
  16.  
  17. </div>
  18. </div>
  19. </div>

结果:
result

如何修复如何使所有布局div(列)彼此独立。有任何想法吗?

解决方法

您可以通过将col1和col3浮动到左侧和右侧,固定宽度来实现。

然后向col2添加等于col1和col3的宽度的左右边距。

这给你三列; col1和col3具有固定宽度,col2填充可用宽度:

(col2的内容框为蓝色,其边距为黄色)

  1. <div class='container'>
  2. <div class='right'>
  3. col3
  4. </div>
  5. <div class='left'>
  6. col1
  7. </div>
  8. <div class='middle'>
  9. col2
  10. </div>
  11. </div>
  12.  
  13.  
  14.  
  15. .container {
  16. overflow: hidden;
  17. }
  18. .right {
  19. float: right;
  20. width: 100px;
  21. }
  22. .left {
  23. float: left;
  24. width: 100px;
  25. }
  26. .middle {
  27. margin: 0 100px;
  28. }

尝试这里:http://jsfiddle.net/22YBU/

BTW如果需要显示:table,display:table-row和display:table-cell,使用表;-)

猜你在找的CSS相关文章