css - 将中间 flex 项目的固定位置居中
问题描述
我在一个弹性容器中有多个弹性项目 justify-content: space-between;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
每个弹性项目都是随机的,具有不同的大小。我想要的是中间项目(数字)始终居中
这是我现在取得的成就:
我想要的是(我不希望项目或数字/计时器重叠,因为我希望计时器可读且项目可拖动):
使用 flexbox 是否可行?或者我应该为每个项目使用固定位置
解决方案
我想这可以工作。您有一个包装器,将计数器(或它是什么)放在您的图标列表之外。这是匆忙完成的,但你明白了吗?
z-index 将图标放在计数器上方。
编辑:为徽标进行了拆分。请注意,这是执行此操作的一种可能方式。在您想要的图像中,它似乎更具动态性,为此您可能需要对某些项目(使用它们自己的类)进行绝对定位,我添加了一个示例。
.wrapper {
position: relative;
max-width: 20rem;
background-color: crimson;
}
.counter {
margin-bottom: .5rem;
padding: .5rem;
background-color: gray;
color: white;
text-align: center;
}
.logos {
position: relative;
display: flex;
flex-wrap: wrap;
margin-left: -.5rem;
z-index: 1;
}
.logos>.logo {
margin-left: .5rem;
margin-bottom: .5rem;
}
.logo {
flex-grow: 1;
flex-shrink: 0;
position: relative;
min-width: 4rem;
height: 4rem;
background-color: deepskyblue;
}
.logo-item--ice-cream {
position: absolute;
top: 110%;
right: -2rem;
width: 2rem;
height: 2rem;
background-color: deeppink;
border-radius: 50%;
}
<div class="wrapper">
<div class="logos">
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo">
x
<span class="logo-item--ice-cream">x</span>
</span>
</div>
<div class="counter">00:20</div>
<div class="logos">
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
<span class="logo"></span>
</div>
</div>
推荐阅读
- aem - 如何将属性添加到在运行时创建的标签
- php - 喜欢和不喜欢计数器在第一篇文章中有效,但在第二篇文章中无效
- xml - 是否有一个 xpath 语句来消除具有相同名称但属性不同的 2 个元素的歧义?
- regression - 训练性能期间未显示损失和均方误差值。没有得到预测线
- c++ - 如何为最后可能有空类成员的类获取正确的 sizeof?
- sql-server - SQL Azure 中的同义词库文件支持
- javascript - 如何检测正则表达式是否可以用静态文本搜索替换?
- python - 如何获取div标签内的内容
- postgresql - 如果在数组中找不到值,则返回 NULL
- c - For循环忽略第一行,在C中第一次循环执行之后