html - 如何将 `<ol>`数字垂直对齐到顶部?

标签 html css

我正在尝试将<ol>数字垂直对齐到顶部。这是CodePen

ol {
  list-style-type: decimal-leading-zero;
  font-size: 11px;
}

a {
  font-size: 80px;
  text-decoration: none;
}
<nav>
  <ol>
    <li><a href="#">Header One</a><span>This is some text, don't move me</span></li>
    <li><a href="#">Header Two</a><span>This is some text, don't move me</span></li>
    <li><a href="#">Header Three</a><span>This is some text, don't move me</span></li>
    <li><a href="#">Header Four</a><span>This is some text, don't move me</span></li>
  </ol>
</nav>

最佳答案

您可以通过设置counter-resetcounter-increment CSS属性并使用每个li元素的before伪元素进行显示来使用自定义计数器。 vertical-align: top和调整line-height可用于将计数器与文本顶部对齐。
演示:

ol {
  list-style: none;
  counter-reset: items;
  font-size: 11px;
}

ol li {
  counter-increment: items;
}

ol li:before {
  vertical-align: top;
  line-height: 45px;
}

ol li:before {
  content: "0" counter(items) ". ";
}

ol li:nth-child(n+10):before {
  content: counter(items) ". ";
}

a {
  font-size: 80px;
  text-decoration: none;
}
<nav>
  <ol>
    <li><a href="#">Header One</a><span>This is some text, don't move me</span></li>
    <li><a href="#">Header Two</a><span>This is some text, don't move me</span></li>
    <li><a href="#">Header Three</a><span>This is some text, don't move me</span></li>
    <li><a href="#">Header Four</a><span>This is some text, don't move me</span></li>
  </ol>
</nav>

关于html - 如何将 `<ol>`数字垂直对齐到顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62766940/

相关文章:

javascript - Raphael 100% 纸给我一个垂直滚动条

javascript - 单击选项卡时不加载隐藏图像或加载内容

iphone - 如何在 iPhone 上执行 HTML 文件( objective-c )?

html - 垂直拉伸(stretch)背景居中对齐

html - 如何从文本区域的文本输入中删除下划线?

html - 用 CSS 打断长单词

css - 如何创建两个 div,一个固定大小,另一个 100%

css - 使用 Bootstrap 和 CSS 更改布局行和列的顺序

html - 在 HTML5 中更改文本颜色

html - CSS 网格动态行和列