css - flex 踩坑
css - flex 踩坑
flex-shrink
flex-shrink: 0
会导致元素宽度 无限拉长,不显示滚动或隐藏
ex
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>flex-shrink 踩坑</title> </head> <body> <pre> `flex-shrink: 0` 会导致元素宽度 无限拉长,不显示滚动或隐藏 例举,问题和正常情况代码 </pre > <div class="flex-shrink"> <div class="item">left</div> <div class="item right scrollbar"> <span class="lorem" >Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ut similique, quae eum, ullam aliquam aliquid veritatis magni dicta quod dolores debitis praesentium consequatur amet non fuga eos nostrum. Odio, sit?</span > <span class="lorem" >Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ut similique, quae eum, ullam aliquam aliquid veritatis magni dicta quod dolores debitis praesentium consequatur amet non fuga eos nostrum. Odio, sit?</span > </div> </div> <div class="flex-shrink scrollbar flex-shrink-bug"> <div class="item">left</div> <div class="item right"> <span class="lorem" >Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ut similique, quae eum, ullam aliquam aliquid veritatis magni dicta quod dolores debitis praesentium consequatur amet non fuga eos nostrum. Odio, sit?</span > </div> </div> </body> <style> :root { --size: 8px; --barColor: #999; } .flex-shrink { display: flex; overflow: auto; } .flex-shrink .item { border: 1px solid #ededed; background-color: aquamarine; flex-grow: 1; flex-shrink: 0; padding: 20px; overflow: auto; } .flex-shrink .right { background-color: bisque; flex-shrink: 1; display: flex; } .flex-shrink .right span { display: block; white-space: nowrap; } .flex-shrink-bug .right { flex-shrink: 0; } .scrollbar::-webkit-scrollbar { /*滚动条整体样式*/ width: var(--size); /*高宽分别对应横竖滚动条的尺寸*/ height: var(--size); } .scrollbar::-webkit-scrollbar-thumb { /*滚动条里面小方块*/ border-radius: calc(var(--size) / 2); box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); background: var(--barColor); background-clip: padding-box; border: 1px solid transparent; } .scrollbar::-webkit-scrollbar-track { /*滚动条里面轨道*/ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); border-radius: 10px; background: #ededed; } </style> </html>
Lee2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步