Wol*_*ker 9 html javascript jquery css3 multiple-columns
我有一个DIV装满动态文本的容器.文本的长度可以不同.所述DIV容器具有一固定的高度,但没有宽度.
文本格式为CSS3多列文本宽度固定columns-width.
结果是n宽度为的列column-width.现在我想知道无论有多少列有或如何计算出width的DIV.
CSS代码:
.columnize{
float: left;
position: relative;
width: 840px;
overflow: hidden;
}
.columnize div{
-moz-column-width: 259px;
-webkit-column-width: 259px;
-moz-column-gap: 16px;
-webkit-column-gap: 16px;
height: 560px;
}
Run Code Online (Sandbox Code Playgroud)
HTML代码:
<div id="columnWrapper class="columnize">
<div id="content">
... content goes here ...
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我试图用这样的JQuery获得宽度:
$('#content').width();
$('#content').innerWidth();
Run Code Online (Sandbox Code Playgroud)
除了Firefox之外,所有浏览器都返回而column-width不是REAL width.
任何想法如何获得列布局的宽度?
我遇到了同样的问题,尝试使用css3列作为页面水平分页文章.这是我作为jQuery插件的解决方案:
http://jsfiddle.net/rkarbowski/Sfyyy/
这是一个想法:<span>在列内容的末尾插入一个空白标记,并使用它.position()来获取left相对于父容器的位置,并添加一个-webkit-column-width(因为.position()只告诉你到left坐标的距离<span>).
这是一个我不明白的小怪癖.要获得正确的宽度,您还必须减去一个-webkit-column-gap.在我看来,.position().left容器之间的距离应该只是最后一列的宽度-webkit-column-width.任何人都可以解释这个吗?我只是擅长数学吗?
对不起,如果插件代码很草率; 我对jQuery的体验有限:)
(应该归功于它:从如何在Javascript中获取CSS3多列计数的想法改编.)