如何动态地生成多列文本样式

时间:2013-12-10 08:44:00

标签: javascript css multiple-columns

我的列数是由查询字符串指定的。

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var columns=getParameterByName('col');

现在我需要动态生成样式。 我试着这样做:

document.querySelector('.wrapper_sport').style.mozColumnCount=columns;
document.querySelector('.wrapper_sport').style.webkitColumnCount=columns;
document.querySelector('.wrapper_sport').style.ColumnCount=columns;

对我来说这是错误的代码。我还想定义其他样式....列间隙,列规则其他。 建议生成样式的最佳方法。谢谢

1 个答案:

答案 0 :(得分:1)

您可以在CSS文件中编写类的样式(示例“columns”),并在需要时在JS中添加此类。

.wrapper_sport{
same style
}
.wrapper_sport.columns{
-moz-column-count: 3;
-moz-column-gap: 50px;
-webkit-column-count: 3;
-webkit-column-gap: 50px;
column-count: 3;
column-gap: 50px;
}