本质上,我试图实现“text-align:justify”的影响,但是使用浮动块元素。我有很多块我想证明 - 对齐。
IE浏览器。每条线的水平间距不同,以确保每条线的长度相同。 (非粗糙的右边缘)。
有没有办法用CSS做到这一点?如果没有,是否有合适的JS库来实现这一目标?或者这只是不可行的?
本质上,我试图实现“text-align:justify”的影响,但是使用浮动块元素。我有很多块我想证明 - 对齐。
IE浏览器。每条线的水平间距不同,以确保每条线的长度相同。 (非粗糙的右边缘)。
有没有办法用CSS做到这一点?如果没有,是否有合适的JS库来实现这一目标?或者这只是不可行的?
如果物品实际上不是 float
ing,你可以使用 position:absolute; left:1em; right:1em
让CSS根据某些定位父项的偏移量为您计算项目的宽度。
如果您只是使用 float
因为你有一些块级项目,你试图使用,使用 display:inline-block
在项目而不是浮动他们。如果父元素有 text-align:justify
这应该会给你你想要的效果(我想象)。
这里有一个 简单的测试 告诉你结果 inline-block
同 text-align:justify
。
编辑:我已经更新了简单的测试,以更清楚地显示左边和右边总是对齐,除了最后一行。
完成上一个答案,如果要对齐以编程方式创建的DOM节点(例如,通过在javaScript中使用document.createElement和parentElement.appendChild),则不会在对齐的元素之间添加空格。这可能导致对齐无法工作。
在我的Google Chrome 56.0.2924.87和Firefox 51.0.1(64位)浏览器上,如果没有任何空格可以分开,则对齐无效 div
内容:
https://jsfiddle.net/jc5qwyaw/
我通过javaScript创建DOM节点时有一个例子:
https://jsfiddle.net/oa8yeudr/
如果取消注释命令 wrapDiv.appendChild(document.createTextNode(" "));
,你可以看到差异。
可能的解决方案是在div节点之后添加空白文本节点,如上所示。
仅在Chrome 56.0.2924.87和Firefox 51.0.1(64位)上测试过。