html - 列表样式类型为 : none; & list-style-position: inside; takes extra space in Firefox 的无序列表

标签 html css firefox

我喜欢让元素符号和编号以适当的方式与整个网站的列表元素中的文本内容垂直对齐。所以我总是把..

ol, ul { list-style-position: inside; }

但是对于要删除元素符号的 ul 部分,我使用..

ul.nobullet { 列表样式类型:无; }

这在 Chrome、Opera 和 Safari 中完美运行。

但是对于 Firefox,简单的 list-style-type: none; 似乎无法正常工作。元素符号按原样消失,但在 li 元素的左侧仍然存在间隙(空间)。我需要向 ul.nobullet 添加额外的 list-style-position: outside; 以消除间隙。

我的问题是,为什么这特别发生在 firefox 中?有什么我遗漏或做错了什么吗?

这是一个示例代码。请注意 Firefox 和 Chrome 中 li 元素和 ul 周围红色边框的空白。

* {
    padding: 0;
    margin: 0;
}

ul {
    list-style-position: inside;
    border: 1px solid red;
}

.box {
    padding: 10px;
    border: 1px solid black;
}    

.nobullet {
    list-style-type: none;
}
<div class="box">
    <div><strong>Library Stats</strong></div>
        <ul class="nobullet">
            <li>line 1</li>
            <li>line 2</li>
            <li>line 3</li>
            <li>line 4</li>
            <li>line 5</li>
        </ul>
</div>

最佳答案

不仅是 Firefox。更正确的方法是删除填充:

ul { 
  list-style-type: none;
  padding: 0;
}
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
</ul>

更新:

阅读您的代码,我找到了重点。您在此处设置填充 0:

* {
    padding: 0;
    margin: 0;
}

它会影响您的列表。尝试不删除 padding: 0,您会发现 list-style-position 无法解决您的问题。

关于html - 列表样式类型为 : none; & list-style-position: inside; takes extra space in Firefox 的无序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28354104/

相关文章:

javascript - 打开信息框而不是悬停

html - 无法在 Wordpress 中使用字体系列更改字体

javascript - bootstrap Accordion 图标在点击时发生变化

html - 如何在嵌套的 ul 中只悬停当前的 li?

python - Firefox 使用 Selenium webdriver 不会出现 'drive'

javascript - 使内容不可滚动的CSS代码

javascript - Google Chrome - 用于禁用超链接提交的 iframe 沙箱不起作用

css - 粗体的 Roboto 字体是不可见的

javascript - 悬停时抓取链接 - Firefox 插件

firefox - 如何在 Firefox 中禁用 Ctrl + Shift + C 快捷键?