<分区>
我想在一个栏上水平分布一些列表项,我想使代码模块化,以便在我插入更多时自动调整元素之间的空间。
我想要第一个元素在最左边,右边的元素在最右边,其余的分布在两者之间。它们彼此之间都有相等的空间。想想将一条线段分成几段,这些元素将标记分离点,以及原始线段的头/尾。
我尝试了几种解决方案并在网上找到了一些,但它们并不符合我的要求。根据我之前的类比,它们只是将所有内容居中,更像是将每个元素放在每个行片段的中间。
有人可以提供一个很好的 CSS 解决方案吗?
<分区>
我想在一个栏上水平分布一些列表项,我想使代码模块化,以便在我插入更多时自动调整元素之间的空间。
我想要第一个元素在最左边,右边的元素在最右边,其余的分布在两者之间。它们彼此之间都有相等的空间。想想将一条线段分成几段,这些元素将标记分离点,以及原始线段的头/尾。
我尝试了几种解决方案并在网上找到了一些,但它们并不符合我的要求。根据我之前的类比,它们只是将所有内容居中,更像是将每个元素放在每个行片段的中间。
有人可以提供一个很好的 CSS 解决方案吗?
最佳答案
在使用inline-block
、伪元素和text-align: justify;
后你可以做你想做的事,但它只适用于IE8及以上版本。
代码如下:
<!-- HTML -->
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
<li>List Item 4</li>
</ul>
/* CSS */
ul {
text-align: justify;
}
ul:after {
content: '';
display: inline-block;
width: 100%;
}
ul:before {
content: '';
display: block;
margin-top: -1.25em;
}
li {
display: inline-block;
margin-right: -.25em;
position: relative;
top: 1.25em;
}
关于html - 如何使用 CSS 水平分布元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13505616/
相关文章:
javascript - 我在 CSS 中设置了 HTML 元素的显示属性。但是,如果我在 javascript 中检查该值,它会显示空白
html - 为什么 google 字体在 safari 上的加载方式与 chrome 不同,我该如何解决?
asp.net - 设置标题的宽度和 GridView 的单元格
javascript - 在哪里将 html 添加到 MaterializeCSS 工具提示?
javascript - 如何创建 "Subscribe to Calendar"链接到适用于 Android 版 Google 日历的 ics 文件?