我有一个列表,其中包含具有自动宽度的不同项目(在我的情况下,不能给出固定的宽度).我使用justify-content: space-between
是因为我的第一个项目必须从容器的开头开始,最后一个项目开始.
所有上述工作都很好,但每当我尝试在这些列表项之间添加一行时,问题就会出现.我无法确定需要多少px或%来定位这些线.有没有办法"动态"定位不同列表项之间的行?
我们使用的html是不可编辑的,因为它是由我们正在使用的CMS呈现的.
这就是我所拥有的:
这是我试图实现的目标
这是我目前的代码
html {
box-sizing: border-box;
}
.Container {
max-width: 70%;
margin-right: auto;
margin-left: auto;
background: blue;
padding-top: 20px;
padding-bottom: 20px;
}
.Flex {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
list-style: none;
margin: 0;
padding: 0;
}
.Flex-item {
background: red;
position: relative;
}
.Flex-item:after {
content: "";
position: absolute;
background: white;
width: 1px;
height: 40px;
top: 50%;
transform: translateY(-50%);
}
- Lorem
- consectetur
- vestibulum
- nec
- condimentum
我正在使用这个解决方案来处理我正在进行的项目.
它设置justify-content: space-between;
在弹性容器和flex: 1 1 auto;
所有儿童的左边框上,除了第一个.
我修改了你的示例CSS,你可以看看.我不确定你是否会对孩子们有背景颜色,所以我只是用线高来获得更大的边框.
html {
box-sizing: border-box;
}
.Container {
max-width: 70%;
margin-right: auto;
margin-left: auto;
background: blue;
padding-top: 20px;
padding-bottom: 20px;
}
.Flex {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
list-style: none;
margin: 0;
padding: 0;
}
.Flex-item {
flex: 1 1 auto;
background: red;
position: relative;
text-align: center;
line-height: 40px;
}
.Flex-item + .Flex-item {
border-left: solid 1px white;
}
/** Optional for OPs exact layout */
.Flex-item:first-child {
text-align: left;
}
.Flex-item:last-child {
text-align: right;
}
- Lorem
- consectetur
- vestibulum
- nec
- condimentum