#css #html-lists
#css #html-списки
Вопрос:
У меня есть код, подобный этому:
<table>
<tr>
<td align="center">
<ul>
<li style="float:left;display:inline">Some text</li>
<li style="float:left;display:inline">Other text</li>
</ul>
</td>
</tr>
</table>
Проблема в том, что ширина UL равна 100%, а затем все UL выровнены по левому краю. Как я могу центрировать содержимое в UL? У меня должен быть этот стиль для LI, поэтому мне нужен UL с подгонкой под содержимое.
Комментарии:
1. Добавлен тег css, поскольку этот вопрос имеет отношение к стилю
2. Можете ли вы иметь фиксированную ширину в
UL
?
Ответ №1:
Просто удалите это "float:left"
из вашего li-кода, потому что "display:inline"
он сам выполняет за вас ту работу, с которой вы хотите "float:left"
.
Комментарии:
1. У тега LI также есть фон изображения, и единственный способ заставить этот фон работать — использовать float:left;
2. Вы имеете в виду, что без использования «float: left» фоновые изображения не могут отображаться в «li»? Насколько мне известно, это прекрасно работает и без использования символов float . И в вашем требовании, если вы не удалите это «float: left», то я думаю, что это не может быть достигнуто.
3. «display: inline» удаляет маркер для меня
Ответ №2:
margin:auto
Стиль на <table>
должен работать. И вам не нужно align="center"
на <td>
. Попробуйте это:
<table style="margin:auto">
<tr>
<td>
<ul>
<li style="float:left;display:inline">Some text</li>
<li style="float:left;display:inline">Other text</li>
</ul>
</td>
</tr>
</table>
Ответ №3:
Вы могли бы попробовать применить display:inline к ul вместо li.
По какой причине вы все равно применяете его к li? Это кажется ненужным, потому что они перемещаются, но, возможно, есть другая причина.