Сброс и нормализация стилей на CSS
По умолчанию браузеры добавляют отступы различным элементам. При верстке нам часто приходится иметь дело с этими отступами, отменяя их там, где они не нужны. При этом в разных браузерах отступы по умолчанию для одних и тех же элементов могут отличаться. То есть, даже если отступ по умолчанию нас устраивает, то нет гарантии, что в другом браузере он будет такой же.
Давайте посмотрим, какие подходы существуют для борьбы с указанной проблемой.
Сброс стилей через универсальный селектор
Распространенной практикой является отмена отступов по умолчанию. Для этого создают так называемый файл сброса стилей reset.css .
В этом файле сбрасывают все отступы в ноль, используя универсальный селектор:
Затем к HTML странице подключают сначала файл сброса, а затем уже файл с основными CSS стилями:
Создайте файл со сбросом через универсальный селектор. Подключите его к какому-нибудь HTML файлу. Посмотрите на внешний вид страницы по умолчанию, без ваших CSS стилей.
Готовые библиотеки для сброса
Зачастую удобно сбрасывать не только отступы, но и другие значения по умолчанию. Существуют уже готовые файлы сброса, сбрасывающие все лишние значения. Одним из популярных является сброс стилей от Эрика Мейера:
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video < margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; >/* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section < display: block; >body < line-height: 1; >ol, ul < list-style: none; >blockquote, q < quotes: none; >blockquote:before, blockquote:after, q:before, q:after < content: ''; content: none; >table < border-collapse: collapse; border-spacing: 0; >
Подключите описанный сброс к какому-нибудь HTML файлу. Посмотрите на внешний вид страницы по умолчанию, без ваших CSS стилей.
Нормализация стилей
Не обязательно сбрасывать все стили в ноль. Существует альтернативный подход, который называется . В этом подходе значения свойств не сбрасываются в ноль, а им указываются определенные значения, чтобы во всех браузерах стили по умолчанию были одинаковыми и удобными. Существуют готовые файлы со стилями нормализации, например, популярная библиотека normalize.css.
Подключите описанную библиотеку к какому-нибудь HTML файлу. Посмотрите на внешний вид страницы по умолчанию, без ваших CSS стилей.
Как убрать отступы и поля у всех элементов на странице?
Обнулить значения отступов и полей у всех элементов веб-страницы сразу.
Решение
Чтобы обнулить отступы и поля у всех элементов на странице, используйте стилевые свойства margin и padding с нулевыми значениями, добавляя их к универсальному селектору * , как показано в примере 1.
Пример 1. Убираем отступы у всех элементов
HTML5 CSS 2.1 IE Cr Op Sa Fx
Убираем отступы * Пример заголовка
Основной текст
Результат данного примера показан на рис. 1.
Рис. 1. Нулевые отступы у всех элементов на странице
Обратите внимание, что отступов и полей нет не только у текста, но и у самой страницы.
Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.
Популярные рецепты
Как добавить картинку на веб-страницу?
Как добавить иконку сайта в адресную строку браузера?
Как добавить фоновый рисунок на веб-страницу?
Как сделать обтекание картинки текстом?
Как растянуть фон на всю ширину окна?
Как выровнять фотографию по центру веб-страницы?
Как разместить элементы списка горизонтально?
Как убрать подчеркивание у ссылок?
Как убрать маркеры в маркированном списке?
Как изменить расстояние между строками текста?
Как сделать, чтобы картинка менялась при наведении на нее курсора мыши?
Как открыть ссылку в новом окне?
Как убрать отступы изображения?
если убирание margin с класса применяемого к элементу не помогает, значит дело не в это элементе, и отступы могут быть у родительских, причем как margin так и padding, поэтому нужно рассматривать конкретный случай с конкретной разметкой
18 ноя 2015 в 8:48
@MichaelPak, откуда число -10?
18 ноя 2015 в 8:48
@Grundy, рандомное число для проверки.
18 ноя 2015 в 8:55
 | Твиттер</title> </head> <body></body> </html> </!DOCTYPE></p>
<p>18 ноя 2015 в 8:56</p>
<h3>4 ответа 4</h3>
<p>Сортировка: Сброс на вариант по умолчанию</p>
<p>Многие браузеры применяют свои, обобщенные правила CSS, которые работают по умолчанию. Рекомендуется первой строчкой в файле css прописывать * . И тогда вы уже все контролируете при дальнейшей разработке проекта. Стаья по теме — http://linux.yaroslavl.ru/docs/www/css/reset_css.html</p>
<p>Отслеживать<br />
ответ дан 18 ноя 2015 в 9:25<br />
222 1 1 серебряный знак 8 8 бронзовых знаков<br />
Отслеживать<br />
ответ дан 18 ноя 2015 в 15:10<br />
41 4 4 бронзовых знака<br />
Постарайтесь писать более развернутые ответы. Поясните, на чем основано ваше утверждение?<br />
19 ноя 2015 в 7:54</p>
<p>Ну второй вариант не работает потому-что не указана прямая ссылка на изображение. Прямая ссылка должна заканчиваться ее расширением типа img.jpg, а такие крутые площадки как твиттер скрывают их с помощью .htaccess или других крутых технологий, так что либо нужно найти фотохостинг с прямыми ссылками/арендовать сервер/пробовать на локалке.</p>
<p>Margin к картинке не работает вероятно потому что по умолчанию браузеры задают тегу body определенные отступы, например хром задает около 5-10px и что бы их убрать нужно прописывать обнуление отступов. Часто такие файлы называют reset.css и прописывают внутри что-то типа:</p>
<pre>html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, acronym, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, thead, tr, th, td</pre>
<h2>Как убрать отступы у шапки в css?</h2>
<p><img decoding=)
Не могу убрать отступы у шапки в css: Важно сказать что шапку заполняю не изображением, а цветом:
header
Pepeland
Отслеживать
33k 6 6 золотых знаков 29 29 серебряных знаков 71 71 бронзовый знак
задан 3 янв 2021 в 3:43
150 11 11 бронзовых знаков
Все решил самостоятельно.
3 янв 2021 в 3:56
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Отступы нужно убирать не только у , но и у тоже:
body < margin: 0px; >header
Pepeland
Отслеживать
ответ дан 3 янв 2021 в 4:01
33k 6 6 золотых знаков 29 29 серебряных знаков 71 71 бронзовый знак
спасибо, я еще смог найти решение с помощью свойства «position: absolute» а после выравниваем по левому краю и верху с помощью свойств «top» и «left»
3 янв 2021 в 4:04
position: absolute — для решение конкретных задач, в данном случае грубая ошибка
3 янв 2021 в 4:06
У многих элементов есть отступы по умолчанию и изнутри и с наружи. Надо обнулять (желательно)
* < margin: 0px; padding: 0px; >header
Pepeland
Отслеживать
ответ дан 3 янв 2021 в 4:01
14.5k 6 6 золотых знаков 33 33 серебряных знака 71 71 бронзовый знак
- html
- css
- вёрстка
- веб-сайт
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
