html - Css max-width 在 div 中没有按预期工作
问题描述
我有一个 HTML 结构,如:
.container {
width: 100%;
height: 300px;
background-color: blue;
}
.dots-container-wrapper {
width: 100%;
}
.dots-container {
max-width: 55px;
overflow: hidden;
min-width: 1px;
display: block;
padding: 0;
margin: 0 auto;
height: 0.875rem;
position: relative;
}
.dots-container>ul {
padding: 0;
display: flex !important;
transition: all 0.25s;
position: relative;
margin: 0;
list-style: none;
transform: translateX(0);
align-items: center;
bottom: unset;
height: 100%;
}
.dots-container>ul li {
width: 6px;
height: 6px;
margin: 0 2.5px;
background-color: #fff;
border: none;
border-radius: 50%;
display: inline-block;
opacity: .7;
}
<div class="container">
<div class="dots-container-wrapper">
<div class="dots-container">
<ul class="dots">
<li></li>
<li></li>
</ul>
</div>
</div>
</div>
问题是 div“dots-container”有一个属性 max-width: 55px。但是如果宽度小于 55px,我想使用实际宽度,但是,div 总是 55px。这是一个问题,因为我在带有点功能的轮播中使用它。当有 5 张图片时,您可以看到 5 个点在中心对齐,但如果图片较少,比如说 2 个,div 仍然是 55px,并且这些点似乎没有在中心对齐。请参阅示例屏幕截图。
解决方案
你.dots-container
的显示为一个块。默认情况下,块将始终尝试填满整个宽度。通过使容器.dots-container-wrapper
显示灵活,它的孩子将只占用他们需要的空间(同时如果需要也将它们居中)。
.dots-container-wrapper {
width: 100%;
display: flex; // change to flex
}
.dots-container {
max-width: 55px;
overflow: hidden;
min-width: 1px;
display: block;
padding: 0;
margin: 0 auto;
height: 0.875rem;
position: relative;
}
推荐阅读
- react-native - Wix React-Native-Navigation v2 和 redux-persist
- r - 为什么闪亮的解释功能是反应性的?
- c++ - 当 socks5 尝试连接到 IP 地址时,我收到错误代码 0x01。c++中的客户端socks5
- python - UnboundLocalError:分配前引用的局部变量“retry_rdd”
- ruby - “零缩放”是什么意思?- 红宝石上下文
- javascript - 如何全局访问 JavaScript 对象
- c# - 将 Web API 控制器从主 ASP .NET 应用程序中分离出来
- python - 填充由数组中的行、列索引偏移的对角线和反对角线 - NumPy / Python
- php - 我无法将下拉 html 中的数据插入 sql
- python - 保存和加载 Keras 总是错误模型与 0 层