我目前正在学习 HTML 编程。我有一个问题:
如果我像这样写:
<html>
<body align="middle">
HEADLINE
<ol>
<li>First Item</li>
</ol>
</body>
</html>
问题在于数字(1.)在左边,而我希望它与标题对齐。如何让整个列表项居中?我需要至少10个声望才能添加图片,所以我会为您提供一个链接,让您查看图片:ALIGNING
您正在对正文中的文本进行对齐。
尝试这个:
.center {
text-align: center;
list-style-position: inside;
}
<h4 align="center">HEADLINE</h4>
<ol class="center">
<li>First Item</li>
</ol>
list-style-position: inside;
。它会让浏览器将列表标记(在这种情况下是数字)视为与文本一起呈现,并且可以受到 text-align
的影响。 - Ben Hull对于有序列表,我的基本要求是:
使用 DuckDuckGo 搜索引擎,我使用以下搜索语句:“如何在网页上水平居中有序列表”
它返回了第一个记录,其中包含以下链接:https://css-tricks.com/centering-list-items-horizontally-slightly-trickier-than-you-might-think/
文章提供将列表元素作为 div 元素的子元素进行布局,并在 div 元素的 CSS 中使用规范 "display: table;"
。
我还看到其他解决方案使用 "text-align: center;"
在 tag 的 CSS 中。这种方法可使每个列表项水平居中于页面上,但无法垂直对齐列表标记。
下面是没有 div 元素的实现。CSS 可以使列表在页面上水平居中。
ol.center-list{
display: table;
margin-left: auto;
margin-right: auto;
list-style-position: inside;
}
<ol class="center-list">
Ordinal Number Words
<li>first</li>
<li>second</li>
<li>third</li>
<li>forth</li>
</ol>
display: table;
对我来说是个魔法般的解决方案。 - robmargin: auto
。也不需要使用list-style-position: inside
。 - undefinedmargin-left: 45%
这个想法不太好。 - undefined ol
{
display: inline-block;
margin-left: auto;
margin-right: auto;
}
你必须使用display-block,因为你需要将列表放在一个盒子中,以便使数字与列表居中。
除了Nuno Duarte的答案之外,您还可以在列表编号后添加换行符,这样在居中模式下看起来更好。(免责声明:未经过各种浏览器测试)
.text-center {
text-align: center;
}
ol.text-center {
list-style-position: inside;
padding-left: inherit; /*Get rid of padding to center correctly*/
}
ol.text-center > li::before {
content: "\A";
white-space: pre;
}
<h4 class="text-center">HEADLINE</h4>
<ol class="text-center">
<li>First Item</li>
</ol>
ol li{ text-align:center; width:300px; }
。 - Kai Qing