Значения атрибутов по умолчанию

Значения атрибутов по умолчанию

У каждого HTML элемента существует множество атрибутов. Это цвет, расстояние до соседних элементов, выравнивание, бордюр и т.д. Когда, при верстке, задаются правила CSS, верстальщик обычно задает значения только тех атрибутов, которые необходимы для представления данного элемента на странице. Что делает браузер со значениями неуказанных атрибутов? В этом случае браузер использует значения атрибутов по умолчанию. И вот тут кроется опасность. Значения атрибутов по умолчанию у различных браузеров могут различаться. Например, размер шрифта по умолчанию может быть разным. Из-за этого в одних браузерах текст займет больше места, чем в других. Что, в свою очередь, может привести к некорректному отображению страницы в разных браузерах.

Как решается эта проблема? Во-первых, необходимо проверять отображение сайта в как можно большем количестве браузеров. Во-вторых, в css файле необходимо задать свои значения по умолчанию для всех элементов, которые используются на странице. Это избавит браузер от необходимости устанавливать значения свойств HTML элементов в соответствии со своими установками по умолчанию. Сделать это можно, например, так:

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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 14px;
  font-family: inherit;
  vertical-align: top;
  background: transparent;
  font: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
  background-color : white;
}

Или так:

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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}
:focus {
  outline: 0;
}
body {
  line-height: 1;
  color: black;
  background: white;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 1px;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
}
blockquote, q {
  quotes: '' '';
}

Ну, или можно придумать что нибудь еще...

Таким образом, все элементы на странице будут иметь свойства, заданные в данном коде. Если необходимо, чтобы у какого-либо элемента свойства отличались от свойств по умолчанию, то их надо переопределить явно.

Похожие пубикации

Верстаем с помощью технологии XSLT

Верстаем с помощью технологии XSLT

В рубрике CMS - верстка, на момент написания статьи "Верстка элементов центрального контента" был сделан каркас будущей CMS и сверстана центральная часть нашей системы. Теперь сделаем тоже самое, но уже с использованием технологии XML / XSLT.
CSS хаки

CSS хаки

При использовании семантической верстки каждый разработчик обязательно столкнется с проблемами кроссбраузерности, для решения которых в большинстве случаев приходится использовать так называемые «хаки». Обычно под этим термином подразумевается особый способ написания селекторов или правил, понимаемый только конкретным браузером.
Добавить комментарий:



Back to Top