2017-08-11 71 views
1

所以我有以下场景,我有一个列表(可以是其他任何东西,我真的不在乎),必须有相同的间距(绿线)并在开始和结束时有相同的间距(红色箭头)。所有这些没有容器有一个固定的位置,所以如果我调整和/或添加更多的元素,他们应该仍然正确跨度。css align元素之间有相同的空间

我已经创建了一个pen到目前为止我所“取得”的成果。

enter image description here

这是到目前为止我的代码:

ul{ 
    width: 90%; 
    border: 1px solid black; 
} 

li{ 
    display: inline-block; 
    margin: 0 100px; 

    border:1px solid orangered; 
} 
li:first-child{ 
    margin-left: 20px; 
} 

li:last-child{ 
    margin-right: 20px; 
} 

我也试图与显示:电网,他们合身的红色边缘,但不要跨越间距相等它们之间。

这可以在没有使用JS的情况下实现吗?

回答

4

您可以ul元素上使用display: flexjustify-content: space-around

ul{ 
 
    width: 100%; 
 
    justify-content: space-around; 
 
    display: flex; 
 
    list-style: none; 
 
    padding: 0; 
 
} 
 

 
li{ 
 
    border: 1px solid red; 
 
    padding: 0; 
 
}
<ul> 
 
    <li>list element 1</li> 
 
    <li>element 2</li> 
 
    <li>e4</li> 
 
    <li>list e5</li> 
 
</ul>

+0

非常感谢约翰,你对此有何评论使我的权利事情!我最终使用了_justify-content:space-between_和向_ul_添加填充。这正是我想要的。 – alexpopa

1
ul{ 
    padding-left: 20px; 
    padding-right: 20px; 
} 
li{ 
    display: inline-block; 
    padding-left: 100px; 
    padding-right: 100px; 
} 
li:first-child{ 
    padding-left: 0px; 
} 
li:last-child{ 
    padding-right: 0px; 
} 

试试吧:)