Почему списки начинаются за пределами содержащего элемента? - PullRequest
2 голосов
/ 08 июля 2010

Это всегда меня бесило. Почему списки такие? Если вы установите margin и padding в 0, вы ожидаете, что он будет выравниваться по левому краю там, где будет текст вокруг него, но нет. Вот где начинается текст в тегах элементов списка, затем он отображает маркеры и / или цифры слева от них, перекрывая границы и т. Д. Почему они еще не исправили это? Кто в здравом уме решил, что будет вести себя по спискам? Вы даже не можете указать точные отступы или поля слева, чтобы выровнять числа по обычному тексту, потому что он не перемещается вправо автоматически, когда счетчик чисел достигает более высокого уровня (например, 9 -> 10, теперь это 2 цифры занимает больше места слева).

В любом случае, вопрос: есть ли какой-нибудь простой способ (без использования JavaScript и т. Д.), Чтобы исправить эту проблему, желательно в CSS? Я бы хотел, чтобы числа слева были выровнены по правому краю, но при этом весь список был выровнен по левому краю с текстом.

списки http://img338.imageshack.us/img338/8957/lists.jpg

Я знаю, что вы можете добиться этого, используя таблицы, но это не совсем упорядоченный список, не так ли?

Редактировать: Обратите внимание, как свойство list-style-position заставляет десятый элемент толкать текст вправо, делая его неровным. Я хочу переместить темно-синее поле выше правого так, чтобы левый край темно-синего выровнялся с текстом вокруг него, но я не могу просто установить значение отступа, потому что количество, которое нужно переместить, изменяется в зависимости от числа предметов.

list-style-position http://img707.imageshack.us/img707/9277/liststyleposition.jpg

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

Чтобы получить этот эффект, используйте: list-style-position:inside;

http://www.w3schools.com/Css/pr_list-style-position.asp

Еще одна (маленькая старая) статья о возможностях со списками: http://www.alistapart.com/articles/taminglists/

0 голосов
/ 08 июля 2010

Как уже упоминалось, постер по умолчанию: outside.

Из-за несоответствий и ошибок очень сложно работать со списками браузеров. Я бы порекомендовал использовать либо JS, либо сценарий на стороне сервера, чтобы сгенерировать элемент span, содержащий число и стилизовать его соответственно (используя цикл и еще много чего).

Уверен, что стилизация кросс-браузера невозможна с учетом ужасных ошибок рендеринга в IE.

...