css - 具有 `max-width` 和 `max-height` 的 Flex 项目会导致其旁边的文本在 Chrome 中不必要地中断
问题描述
在下面的代码片段中,tab__icon
有 amax-width
和 a max-height
,但显然它会导致tab__label
它旁边的文本中断,而实际上有足够的空间。
我知道这是两者的存在,这max-width
导致max-height
了这个问题,因为一旦您更改max-width
为width
或max-height
,height
文本不再中断,并且一切都按预期工作。
我在这里做错了什么?
我也尝试添加flex-shrink: 0;
,tab__label
但这会导致文本溢出父级,这不是我想要的。
.tab-list {
display: flex;
width: 100%;
border: 2px solid red;
justify-content: space-around;
}
.tab-list__item {
flex-shrink: 0;
}
.tab {
display: flex;
align-items: center;
padding: 10px 20px;
background-color: gray;
}
.tab__icon {
max-width: 12px;
max-height: 12px;
flex-shrink: 0;
margin-right: 5px;
}
<div class="tab-list">
<div class="tab tab-list__item">
<svg class="tab__icon" viewBox="0 0 11.25 15"> <g transform="translate(-3)"> <path d="M9.75,7.5A3.75,3.75,0,1,0,6,3.75,3.75,3.75,0,0,0,9.75,7.5Zm0-6.25a2.5,2.5,0,1,1-2.5,2.5A2.5,2.5,0,0,1,9.75,1.25Z" transform="translate(-1.125)"></path> <path d="M8.625,14A5.631,5.631,0,0,0,3,19.625a.625.625,0,1,0,1.25,0,4.375,4.375,0,1,1,8.75,0,.625.625,0,0,0,1.25,0A5.631,5.631,0,0,0,8.625,14Z" transform="translate(0 -5.25)"></path> </g> </svg>
<span class="tab__label">Some title here</span>
</div>
<div class="tab tab-list__item">
<svg class="tab__icon" viewBox="0 0 11.25 15"> <g transform="translate(-3)"> <path d="M9.75,7.5A3.75,3.75,0,1,0,6,3.75,3.75,3.75,0,0,0,9.75,7.5Zm0-6.25a2.5,2.5,0,1,1-2.5,2.5A2.5,2.5,0,0,1,9.75,1.25Z" transform="translate(-1.125)"></path> <path d="M8.625,14A5.631,5.631,0,0,0,3,19.625a.625.625,0,1,0,1.25,0,4.375,4.375,0,1,1,8.75,0,.625.625,0,0,0,1.25,0A5.631,5.631,0,0,0,8.625,14Z" transform="translate(0 -5.25)"></path> </g> </svg>
<span class="tab__label">Some other title</span>
</div>
</div>
更新:正如@TemaniAfif 在评论中指出的那样,这个问题只存在于 Chrome 中,Firefox 似乎按预期工作。
解决方案
由于您将宽度固定为最大值,因此您可以为宽度设置任何大于该值的值。至少,它应该可以在 Chrome 上运行,因为它在 Firefox 上已经很好了
.tab-list {
display: flex;
width: 100%;
border: 2px solid red;
justify-content: space-around;
}
.tab-list__item {
flex-shrink: 0;
}
.tab {
display: flex;
align-items: center;
padding: 10px 20px;
background-color: gray;
}
.tab__icon {
max-width: 12px;
max-height: 12px;
flex-shrink: 0;
margin-right: 5px;
width:100px;
}
<div class="tab-list">
<div class="tab tab-list__item">
<svg class="tab__icon" viewBox="0 0 11.25 15"> <g transform="translate(-3)"> <path d="M9.75,7.5A3.75,3.75,0,1,0,6,3.75,3.75,3.75,0,0,0,9.75,7.5Zm0-6.25a2.5,2.5,0,1,1-2.5,2.5A2.5,2.5,0,0,1,9.75,1.25Z" transform="translate(-1.125)"></path> <path d="M8.625,14A5.631,5.631,0,0,0,3,19.625a.625.625,0,1,0,1.25,0,4.375,4.375,0,1,1,8.75,0,.625.625,0,0,0,1.25,0A5.631,5.631,0,0,0,8.625,14Z" transform="translate(0 -5.25)"></path> </g> </svg>
<span class="tab__label">Some title here</span>
</div>
<div class="tab tab-list__item">
<svg class="tab__icon" viewBox="0 0 11.25 15"> <g transform="translate(-3)"> <path d="M9.75,7.5A3.75,3.75,0,1,0,6,3.75,3.75,3.75,0,0,0,9.75,7.5Zm0-6.25a2.5,2.5,0,1,1-2.5,2.5A2.5,2.5,0,0,1,9.75,1.25Z" transform="translate(-1.125)"></path> <path d="M8.625,14A5.631,5.631,0,0,0,3,19.625a.625.625,0,1,0,1.25,0,4.375,4.375,0,1,1,8.75,0,.625.625,0,0,0,1.25,0A5.631,5.631,0,0,0,8.625,14Z" transform="translate(0 -5.25)"></path> </g> </svg>
<span class="tab__label">Some other title</span>
</div>
</div>
推荐阅读
- swift - 按返回键后导航栏不隐藏
- c# - 将数据从一种形式传递到另一种形式(datagridview)
- spring-boot - 为 neo4j 中的所有集合附加默认前缀
- python - 无法使用 beautifulsoup 在网站上刮桌子
- java - 使用 BouncyCastle/Java 对 InputStream 进行 PGP 加密
- numpy - pyqgis:从列表中创建多层(自动)
- c++ - 尝试运行 CusolverSSgels 测试用例,但它不起作用
- flutter - Flutter Https 未处理异常:参数无效
- magento2 - 状态码:安装 Magento-2 后出现 500 错误。我无法查看我的主页,也无法登录到后端
- lua - 如何在路由请求之前从 haproxy 中的 lua 发送 https 请求?