如何获得<ul>的要点与文本居中?

a *_*son 30 html css html-lists

当我尝试<ul>将文本居中在<li>中心但子弹点位于页面的最左侧时.当文本居中时,有没有办法让子弹点与文本保持一致?

#abc{text-align: center; }

<div id="section1">
<div id="abc">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
<div/>
<div/>
Run Code Online (Sandbox Code Playgroud)

Jos*_*ier 43

添加list-style-position: insideul元素.(例)

为默认值list-style-position属性outside.

ul {
    text-align: center;
    list-style-position: inside;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li>one</li>
    <li>two</li>
    <li>three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

另一种选择(产生稍微不同的结果)将使整个ul元素居中:

.parent {
  text-align: center;
}
.parent > ul {
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<div class="parent">
  <ul>
    <li>one</li>
    <li>two</li>
    <li>three</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 你的第二种方法是唯一对我有用的方法 (2认同)

Mic*_*zos 24

你可以list-style-position: inside;ul元素上做到这一点:

ul {
    list-style-position: inside;
}
Run Code Online (Sandbox Code Playgroud)

看工作小提琴


Jun*_*aid 7

长话短说

ul {
  padding-left: 0;
  list-style-position: inside;
}
Run Code Online (Sandbox Code Playgroud)

说明: 第一个属性padding-left: 0清除元素的默认填充/间距ul,同时list-style-position: inside使点/项目符号li像普通文本一样对齐。

所以这段代码

<p>The ul element</p>
<ul>
asdfas
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

没有任何 CSS 会给我们这个:
在此输入图像描述
但是如果我们在顶部添加CSS,就会得到这样的结果:
在此输入图像描述