【问题标题】:Removing the skipped line above an unordered list删除无序列表上方的跳过行
【发布时间】:2015-06-29 02:13:39
【问题描述】:

如何删除总是出现在 html 列表上方的跳过行?例如,在下面的代码中,我有一行描述列表的文本,然后是列表本身。在描述之后和列表中的第一项之前有一个难看的空行。 如何更改下面的代码,使第一个列表项位于说明下方?

列表说明:

  • 第一项。
  • 第二项。
  • 第三项。

这里是需要修改的代码:

<i>Description of list:</i>
<ul>
    <li>First item.</li>
    <li>Second item.</li>
    <li>Third item.</li>
</ul>  

【问题讨论】:

标签: html css


【解决方案1】:

我不确定我是否理解正确,但请查看fiddle

浏览器会在 UL 的顶部和底部设置默认边距,因此您可以使用...删除边距。

ul{margin-top: 0;}

【讨论】:

  • 您是第一个回答正确的人。谢谢你和+1。堆栈溢出的上帝不会让我再接受5分钟的答案。
  • 哈哈,stackoverflow 之神讨厌这个规则,但很高兴它对你有用,干杯!
【解决方案2】:

这是列表顶部的默认margin。您可以使用 CSS 删除或减少它。

ul {
  margin-top: 0;
}
<i>Description of list:</i>
<ul>
  <li>First item.</li>
  <li>Second item.</li>
  <li>Third item.</li>
</ul>

【讨论】:

    【解决方案3】:

    要删除描述和列表项之间的空格,您需要重置无序列表项属性

    CSS

    ul {
      padding:0;
      margin:0;
    }
    

    以上代码将重置默认浏览器属性,这些属性将应用于无序列表项。

    【讨论】:

    • “应用于无序列表项”:不是应用于items,而是应用于列表本身。
    【解决方案4】:

    您应该考虑阅读有关为每个标签重置 css 样式和默认值的信息。在您的示例中,您可以尝试使用

    ul {margin:0;}
    

    或者只是重置其中一个边距。

    【讨论】:

      【解决方案5】:

      为元素 'ul' 提供一个 id,然后使用 边距顶部

      演示:http://jsfiddle.net/oc8mdc2s/2/

      <i >Description of list:</i>
      <ul id="listing">
          <li>First item.</li>
          <li>Second item.</li>
          <li>Third item.</li>
      </ul>
      
      
      
      #listing{
          margin-top:-0.01%;
      }
      

      【讨论】:

      • 感谢您和 +1 抽出宝贵时间添加不同的见解。但是我尝试了您的代码,但它在运行代码的唯一设置中不起作用。我将 html 插入到与堆栈溢出不同的网站(但由不同的公司运行)。我的大多数其他 html 格式都适用于该环境,但无论我到目前为止尝试过什么格式,都会保留每个列表上方的空白行。
      猜你喜欢
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      相关资源
      最近更新 更多