默认情况下,有序列表如下所示:
列表左侧有一些间距。有什么办法可以消除这些间距?
这是我想要的:
在我的网站上,字体系列和字体大小将由用户动态更改。因此我无法预设 padding-left。
默认情况下,有序列表如下所示:
列表左侧有一些间距。有什么办法可以消除这些间距?
这是我想要的:
在我的网站上,字体系列和字体大小将由用户动态更改。因此我无法预设 padding-left。
在我的网站上,
font-family
和font-size
将由用户动态更改。因此我无法预设padding-left
.
为什么这会阻止你使用padding-left
?当您想要覆盖浏览器的默认样式表时,它绝对是正确的工具。
ul {
padding-left: 0;
/* If you want you can change the list type from inside or outside */
list-style: inside decimal;
}
您应该能够将 em 用于可缩放的大小(而不是固定的 px 大小)。这将允许缩放字体大小,但在应用填充时匹配缩放大小。
ol { padding-left: 1.8em; }
这是一个jsfiddle来说明。将字体大小更改body
为不同的缩放大小(尝试 1em、2em 等),您会看到该段落与ol
左侧的匹配。
您可能会发现浏览器以不同的尺寸呈现。1.8em,适用于 Chrome,但对于 Firefox 或 IE,它可能需要 1.6em 或 1.9em。Web 的特点是它是流动的和可扩展的,因此追求像素精度,尤其是在使用用户可缩放的字体时几乎总是没有双赢的局面。
ol, ol li { margin-left: 0; padding-left: 0; }
ol { margin-left: 1.3em; }
左边的默认间距可能是由 or 的左边距或左边距,ol
或li
它们的组合引起的(取决于浏览器)。因此,要获得一些特定的间距,请将所有这些属性设置为零,但其中一个属性设置为您喜欢的值。请注意,此间距需要足够大以容纳列表标记(数字),否则它们将不会出现或将被截断。的值1.3em
(即字体大小的 1.3 倍)应该对它们适当大,并且在它们的左侧留下很少或没有额外空间。
是的,默认情况下它将是 40 像素。使用 CSS:
ul {padding-left: 1.5em; list-style: decimal;}
如果要确保列表与其父容器的左边界齐平,请使用您自己的列表项目符号图像。
您可以使用以下 CSS 自定义您的 UL:
UL {
margin-left: 0;
list-style: none outside url("myImage.png");
}
希望这可以帮助!:)