为什么水平列表项对正不适用于动态添加的项
Why does horizontal list item justification not work with dynamically added items
我正在创建一个div网格,我决定使用一个无序列表作为容器,这样我就可以利用水平对齐将包含div的列表项的优势。问题是,只有在页面加载之前编写的HTML才能使用正当性。如果我尝试使用Javascript动态创建和添加列表项,则说明理由失败。
这个fiddle演示了两个无序列表的问题,其中一个是静态填充的(成功),另一个是动态填充的(失败)。
这是代码:
HTML
<ul>
<li><div></div></li>
<li><div></div></li>
<li><div></div></li>
</ul>
<ul id="list"></ul>
Javascript
var list = document.getElementById("list");
for (var i=0; i<3; i++) {
var li = document.createElement("li");
var div = document.createElement("div");
li.appendChild(div);
list.appendChild(li);
}
CSS
ul {
margin: 0;
padding: 0;
list-style-type: none;
text-align: justify;
}
ul:after {
content: "";
width: 100%;
display: inline-block;
}
li {
display: inline;
}
div {
display: inline-block;
width: 100px;
height: 100px;
background: #4391EE;
border: 1px solid black;
}
静态版本和动态版本之间的主要区别在于,静态版本的每个元素之间都有空白。
要修复动态版本,还需要添加一些空白:
list.appendChild(document.createTextNode(" "));
下面是一个演示:http://jsfiddle.net/thirtydot/kQNNe/1/
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- PHP中的setcookie仅适用于localhost
- html5 drawImage适用于firefox,而不是chrome
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- 动态路径用于流星/铁路由器
- ResolveUrl是否适用于././也
- Firebase updateChildValues适用于IOS,但不适用于Web和Android
- JavaScript警报适用于int,但不适用于string
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- Regex Replace仅适用于Last Match
- window.onload适用于aspx页面,但不适用于普通html
- 来自mysql的动态值用于html代码点火器视图中的图形
- Jquery Ajax POST不工作.适用于GET
- 画布上的自定义字体仅适用于safari
- 动态修改CSS-适用于IE9,但不适用于Chrome和Firefox
- 动态选择列表上的单击事件仅适用于 FF
- Iframe设置动态高度仅适用于chrome
- 动态菜单的Ajax调用适用于first
- 如何在firefox中动态点击一个href链接?预期的方法只适用于IE