У вас есть два варианта, по сути, проблема в том, что маркеры являются частью элемента ul и поэтому отображаются в начале каждой новой строки и не связаны с li. Из-за этого, даже если вы расположите список по центру, маркеры будут выровнены вместе, а не относительно длины вашего элемента списка.
Я скопировал ваш код сверху. И, как вы можете видеть, добавив элемент-обертку с flex
и установив поле left / right mx-auto
для элемента ul. Однако возникает проблема, описанная выше, когда все точки выровнены, но центрированы, но относительно самой длинной линии.
ul {
list-style-type: disc !important;
padding-left: 1em !important;
margin-left: 1em;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="d-flex">
<ul class="text-center mx-auto">
<li class="text-center">This</li>
<li>is</li>
<li>my</li>
<li>list</li>
<li>a bit longer item</li>
</ul>
</div>
Другим решением будет использование псевдоэлементов в самих элементах списка для создания точек и установка list-style: none
для удаления маркеров, сгенерированных браузером. .