我有一个非常简单的设置
<div class="container">
<ul>
<li>Item one</li>
<li>Item two</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我曾假设ul的所有内容和子弹都在div内,但目前情况并非如此.
UL的项目符号出现在div之外,并在隐藏溢出时有效消失.
对我而言,这有点破碎,并且跨浏览器兼容,我已经扫描了HTML规范但是找不到任何说这应该发生的事情.
是否有CSS修复或可能的布局修复?
提前致谢.
Gar*_*ett 64
你会想要使用list-style-position:
ul {
list-style-position: inside;
}
Run Code Online (Sandbox Code Playgroud)
list-style-position: inside效果很好,除非您的项目符号点在小屏幕上需要多行,因为您的文本将与项目符号点而不是文本开始的位置对齐。
保持默认值text-align: outside,允许较小的边距并将文本向左对齐以覆盖任何居中的容器可以解决项目符号点对齐问题。
ul, ol {
margin-left: 0.75em;
text-align: left;
}
Run Code Online (Sandbox Code Playgroud)
当你的 UL/OL 和 LI 没有足够的填充,或者你是浮动元素或 display: inline 时,你通常会因为 div 的溢出而丢失列表装饰。
尝试向列表项(LI 元素)添加一些填充/边距。