
Сочный слой
CSS — это слой веб-страницы, который добавляет макет, стилизацию и фоновую графику на вашу страницу. Хотя свойства CSS хорошо документированы и (в основном) логичны, у устройств будут свои представления о рендеринге. Браузеры, которые вызывают наибольшее горе, — это IE6 и, в меньшей степени, IE7 — оба старые по сравнению с конкурентами, но значительная часть людей продолжает их использовать . Можно преодолеть большинство проблем , но, пожалуйста, помните:
Пиксельное совершенство — это миф!
Если вам нужен точно спроектированный макет, вы должны забыть о сети — вместо этого распространяйте свой шедевр на бумаге или в формате PDF! ИТ-системы сильно различаются: люди используют разные операционные системы, размеры экрана, настройки DPI, шрифты, глубину цвета и браузеры. CSS может только предложить макет — браузер должен интерпретировать ваш код, и он не всегда может делать то, что вы ожидаете. Пользователи редко замечают, что виджет находится в нескольких пикселях от положения, но они будут жаловаться, если функциональность нарушена.
Ненавязчивый CSS
Наш HTML элемент управления вкладками был закодирован для работы в любом браузере. Мы будем использовать CSS для стилизации и улучшения макета, чтобы он выглядел как поле с вкладками, но мы должны быть осторожны, чтобы не повредить нашим усилиям по обеспечению доступности.
 Всегда будьте осторожны при реализации любого CSS, который зависит от сценариев.  Например, неактивное содержимое в нашей вкладке может быть скрыто с помощью display: none;body  свойство.  Однако этот контент никогда не появится, если JavaScript отключен.  В общем: 
- Держите свой CSS простым.
- Убедитесь, что ваш CSS работает без JavaScript.
-   Если в вашем JavaScript реализованы изменения стиля, используйте этот сценарий для добавления класса в соответствующие узлы DOM после загрузки страницы.  Следовательно, JavaScript-зависимый CSS активируется только в том случае, если скрипт выполняется успешно.
Например, ваш скрипт может добавить класс «jsenabled» к тегу 
 p { ... styles applied always ... }
 body.jsenabled p { ... styles applied when JS executes ... }
 /* tab control CSS: the tabs */ .tabs { position: relative; bottom: -1px; height: 20px; list-style-type: none; padding: 0; margin: 0; } .tabs li { display: inline; float: left; padding: 0; margin: 0 0 0 10px; } .tabs a { display: block; width: 5em; height: 18px; line-height: 18px; text-align: center; text-decoration: none; color: #555; background-color: #ccc; border: 1px solid #999; outline: 0 none; } .tabs a.active, .tabs a:hover, .tabs a:focus, .tabs a:active { color: #222; background-color: #fff; border-bottom-color: #fff; }
Обратите внимание, что можно отключить CSS и включить JavaScript. Это менее вероятно, но мы не должны делать предположения о наших пользователях!
Стилизация вкладок
Стили вкладок можно стилизовать с помощью следующего CSS:
 a
  Код перемещает элементы списка влево с полем в 10 пикселей.  Селекторы ссылок определяют цвета и границы вкладок.  Тег ul 
  .tabs a.active  В этом случае стили будут применяться, когда JavaScript назначит класс «активный» для вкладки. 
Область содержимого вкладки оформляется с использованием следующего CSS:
 
.tabcontent
{
	width: 26em;
	height: 10em;
	margin: 0 0 2em 0;
	border: 1px solid #999;
	overflow: auto;
}
.tabcontent div
{
	height: 10em;
	margin: 0 10px;
}
.tabcontent div h2
{
	padding-top: 10px;
	margin-top: 0;
}
  Внешний divoverflow  Наши блоки контента (внутренние элементы div 
Результатом является поле с вкладками с прокруткой внутренней области. Пользователь может получить доступ к содержимому с помощью полос прокрутки или щелкнув вкладки, чтобы перейти к нужному месту.
CSS облегчил просмотр контента, и он остается функциональным без JavaScript. Однако он не идеален: активная вкладка не подсвечена, а полосы прокрутки немного неуклюжи для удобного веб-приложения.
В следующем посте мы создадим повторно используемый модуль JavaScript, который добавляет последние улучшения .
Ссылки на ресурсы:
- Просмотр HTML и CSS только для вкладок
- Посмотреть файл CSS, pe.css
- Просмотр элемента управления только для вкладок HTML
Другие части в этой серии:
- Методы прогрессивного улучшения 1: HTML
- Методы прогрессивного улучшения 2: CSS
- Методы прогрессивного улучшения 3: JavaScript
Связанное чтение:
