HTML-список не соответствует правилам CSS-полей
Так что у меня есть код, который устанавливает поля по умолчанию и отступы для HTML на 0
CSS:
body,html {
padding: 0; margin: 0;
width:100%;font-family:arial;
}
#headingUl li{
list-style-type:none;
}
</style>
HTML:
<div id="heading">
<ul id="headingUl">
<li>a</li>
<li>b</li>
<li>b</li>
</ul>
</div
... но списки все еще имеют левое поле.
5 ответов
#headingUl {
list-style-type:none;
padding: 0;
margin: 0;
}
Браузеры устанавливают значения по умолчанию ul, ol padding. Вы должны перезаписать это.
Вы можете сбросить его во все списки, чтобы не беспокоиться об этом снова:
ul, ol {
list-style-type:none;
padding: 0;
margin: 0;
}
Чтобы избежать такого поведения, вы должны сбросить автоматические стили.
*{
margin:0px;
padding: 0px;
}
Вы назначены padding:0;
а также margin:0;
к html
контейнер и body
Контейнер, который не повлияет на внутренние элементы, поэтому вам нужно добавить следующее в ваши стили:
ul {
padding:0;
margin:0;
}
Как сказал @Nenad Vracar, ul
элемент имеет значение по умолчанию padding-left
или же margin-left
значение установлено в 40px.
См. Документацию здесь: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Lists_and_Counters/Consistent_list_indentation
Вам нужно переписать это так:
#headingUl { padding-left:0; margin-left: 0; }
В Internet Explorer и Opera списки смещаются путем установки левого поля в 40 пикселей для элемента. Gecko, с другой стороны, устанавливает левый отступ 40 пикселей для элемента
Я рекомендую вам сделать полный сброс всех свойств, используя программу, созданную Эриком Мейером - CSS Reset.
http://meyerweb.com/eric/tools/css/reset/
Для быстрого избавления от бесполезной заливки используйте код ниже
* {
padding: 0;
margin: 0;
}