2016-04-18 2 views
0

Поэтому у меня есть код, который устанавливает предел по умолчанию и отступы для HTML до 0список HTML не следует правилам маржинальных CSS

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 

... но списки все еще имеют левое поле.

enter image description here

+2

'ul' имеет по умолчанию' дополнени-left', так что вы должны удалить его. –

+1

Если вы сталкиваетесь с этим неожиданным форматированием, вам больше удастся использовать другие элементы html, которые вы сейчас не используете, но мое использование в будущем. https://necolas.github.io/normalize.css/ - отличный ресурс для понимания того, как сбросить специфические для браузера свойства, которые применяются к элементам html. – fauverism

+0

Я согласен с вами @fauverism, метод сброса, который я предлагаю, очень прост. –

ответ

2
#headingUl { 
    list-style-type:none; 
    padding: 0; 
    margin: 0; 
} 

браузеры установлены по умолчанию UL, ола заполнение. Вам нужно перезаписать его.

Вы можете сбросить его на все списки, чтобы не беспокоиться об этом снова:

ul, ol { 
    list-style-type:none; 
    padding: 0; 
    margin: 0; 
} 
+1

не работал :( –

+0

Извините, скопировал слишком много вашего сглаживания, его нужно установить в списке (ul/ol, not li), я исправил селектор. –

+0

, но это решение будет применяться только к списку #headingUl, если вы добавите еще один список в свой html-код, проблема снова появится. –

2

Для того, чтобы избежать такого поведения, вы должны сбросить автоматические стили.

*{ 
    margin:0px; 
    padding: 0px; 
} 
1

В @Nenad Врачар сказал 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 пикселов для элемента

1

Вы присвоенный padding:0; и margin:0; в html контейнера и body контейнера, который не будет влиять на внутренние элементы, так что вы должны добавить следуя вашим стилям:

ul { 
    padding:0; 
    margin:0; 
} 
0

Я рекомендую вам выполнить жесткий сброс всех свойств с помощью программы, созданной Эриком Мейером - Сброс CSS.

http://meyerweb.com/eric/tools/css/reset/

Для быстрого избавления от ненужного использования заполнения кода ниже

* { 
    padding: 0; 
    margin: 0; 
} 
Смежные вопросы