【问题标题】:Does UL have default margin or padding [duplicate]UL是否有默认边距或填充[重复]
【发布时间】:2023-01-22 16:48:40
【问题描述】:

这可能看起来像一个愚蠢的问题,但我已经将 UL 添加到基本页面并且列表似乎偏离了中心。该列表没有什么特别之处。没有添加特定的 CSS:只是一个列表。当我加载实时它稍微偏离中心。
左侧是否有默认边距或填充?

<h3>Title Heading</h3>
   <ul id="listItems">
       <li>itemOne</li>
       <li>itemTwo</li>
       <li>itemThree</li>
   </ul>

主体包含居中、对齐、浮动等的所有 css 代码。 “标题标题”完美对齐。只是列表有点偏离。

谢谢你。

哦,不知道这是否重要,但我添加了“id”原因...想使用“first-of-type”来给第一项 em(粗体)。

【问题讨论】:

  • 添加 ul - 填充:0;
  • The W3C standardul 应该有 40px 的左填充,但浏览器有自己的默认值。

标签: html css alignment html-lists


【解决方案1】:

问题是默认情况下,浏览器具有自定义 css - 例如在 chrome 中:

ul, menu, dir {
   display: block;
   list-style-type: disc;
   -webkit-margin-before: 1em;
   -webkit-margin-after: 1em;
   -webkit-margin-start: 0px;
   -webkit-margin-end: 0px;
   -webkit-padding-start: 40px;
}

您必须为您的ul 使用自定义规则:

element.style {
    margin-left: 0px;
    /* set to 0 if your not using a list-style-type */
    padding-left: 20px;
}

【讨论】:

  • 好的,填充似乎有效。我只是觉得将填充添加到我无法控制或无法在我的代码中识别的默认设置中很奇怪。但我想,不管用什么。
【解决方案2】:

列表将始终对齐,因此文本与父元素的边缘保持一致。这意味着项目符号默认位于元素的外部(左侧)。您可以强制对齐项目符号点,而不是像这样的文本:

ul {
  list-style-position: inside; }

或者,您可以只添加自己的边距来推动整个列表元素,如下所示:

ul {
  margin-left: 20px; }

【讨论】:

  • 好的,我尝试了两种方法的建议。我将代码添加到选择器 #itemList 下的 css。我还在 ul 周围添加了一个名为 id="bodyList" 的部分(我试图不弄乱我的特定代码来更改 f-o-t)。什么都没发生。我会使用 margin-left,但不确定在调整大小时它会如何影响浮动;此外,没有任何子弹。
  • @JZeig1 好吧,看起来你的问题是将 CSS 应用到 #itemList 而它本来应该是 #listItems
  • 谢谢,这有效,但只有当我在我的 Wordpress 网站中使用以下语法时:<ul style="list-style-position: inside">
猜你喜欢
  • 2015-08-06
  • 2011-11-24
  • 2012-07-10
  • 1970-01-01
  • 2016-11-19
  • 2018-08-09
  • 2014-04-17
相关资源
最近更新 更多