在HTML / CSS中执行列的最佳方式
我正在寻找一种方法来显示3列的内容。 我find了一种方法来显示环绕的列,但我不希望这个页面。 我正在寻找一种方式来说
<column> <!-- content --> </column>
3次,并有3列彼此相邻显示。 我最近的例子是The Verge(http://www.theverge.com/)。 做这个的最好方式是什么?
我build议你使用<table>
或CSS。
CSS是更加灵活的首选。 一个例子是:
<!-- of course, you should move the inline CSS style to your stylesheet --> <!-- main container, width = 70% of page, centered --> <div id="contentBox" style="margin:0px auto; width:70%"> <!-- columns divs, float left, no margin so there is no space between column, width=1/3 --> <div id="column1" style="float:left; margin:0; width:33%;"> CONTENT </div> <div id="column2" style="float:left; margin:0;width:33%;"> CONTENT </div> <div id="column3" style="float:left; margin:0;width:33%"> CONTENT </div> </div>
jsFiddle: http : //jsfiddle.net/ndhqM/
使用float:left将使3列彼此粘在一起,从居中的div“内容框”中的左侧进入。
你可能应该考虑使用css3,尽pipe它包括使用供应商前缀。
我已经敲了一个快速演示,但关键是这个。
<style> .3col { -webkit-column-count: 3; -webkit-column-gap: 10px; -moz-column-count: 3; -moz-column-gap: 10px; column-count:3; column-gap:10px; } </style> <div class="3col"> <p>col1</p> <p>col2</p> <p>col3</p> </div>
除了3浮动列结构(我也build议),你必须插入一个清晰的修正,以防止columncontainer之后的元素的layoutproblems(保持columncontainer在stream程中,可以这么说…)。
<div id="contentBox" class="clearfix"> .... </div>
CSS:
.clearfix { zoom: 1; } .clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; } .clearfix:after { clear: both; }
你也可以试试。
.col{ float: left; } .col + .col{ float: left; margin-left: 20px; } /* or */ .col:not(:nth-child(1)){ float:left; margin-left: 20px; }
<div class="row"> <div class="col">column</div> <div class="col">column</div> <div class="col">column</div> </div>
引导。 看看他们的真棒网格系统在这里 。
使用Bootstrap,你可以做三个这样的列:
<div class="container"> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> </div> </div>