两篇关于CSS的专栏文章

时间:2013-05-01 20:17:42

标签: html css

我想在报纸文章中自动在一个帖子中分两列(不是2个div)。有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:2)

你可以使用CSS3。有一个名为“多列布局”的新模块专门用于此目的。以下是W3C建议的the link

您现在可以在Firefox,Safari,Chrome,Opera和Inernet Explorer 10中使用它。查看this web page以查看兼容性,了解多个浏览器版本中的CSS3建议。

文本应该从一列流向另一列,您不需要使用两个不同的DIV来伪造页面设计中的两列。您可以通过以下方式应用多列:

column-count: 2;
column-gap: 15px;
column-rule: 1px solid black;

-moz-column-count: 2;
-moz-column-gap: 15px;
-moz-column-rule: 1px solid black;

-webkit-column-count: 2;
-webkit-column-gap: 15px;
-webkit-column-rule: 1px solid black;

每个主渲染引擎(如Mozilla的gecko和Chrome的webkit)都有自己的属性来支持这一点,这就是为什么你必须使用不同的前缀-webkit和-moz。

除此之外,您还可以指定列的宽度(而不是列数):

-moz-column-width: 300px;
-moz-column-gap: 15px;

-moz-column-width: 300px;
-moz-column-gap: 15px;

-webkit-column-width: 300px; 
-webkit-column-gap: 15px;

在任何情况下,您可能都想使用多个DIV,因为很遗憾,Internet Explorer 9及以下版本不支持所有这些华丽的多列魔术。

答案 1 :(得分:1)

您可以使用CSS3 multi-columns,通过support isn't very good

div {
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;
-webkit-column-width: 20em;
-moz-column-width: 20em;
column-width: 20em;
/* IE10 & Opera 11.1 + support this property unprefixed */
}

示例:http://jsfiddle.net/eFznL/2/