Page 164 - Сила CSS3 Освой новейший стандарт
P. 164
164 • Глава 4. Стилизация изображений и ссылок в зависимости от их типа
Классы раздувают код HTML. Мы в нашем примере добавляем только один
класс, и вряд ли это может серьезно повлиять на размер файла, однако на больших
страницах и сайтах с более сложными стилями может возникать необходимость
во множестве дополнительных классов — и тогда объем кода соответствующим
образом увеличивается. Если существует возможность избежать добавления
в код HTML-классов и идентификаторов и использовать другой надежный метод
выбора нужных элементов, всегда прибегайте к этому методу.
Разметка может управляться системой CMS или встраиваемым модулем, что
делает абсолютно невозможным добавление классов в код HTML.
Ответственным за добавление содержимого может быть ваш клиент, а в таком
случае нельзя гарантировать, что он запомнит и выберет нужные классы.
У вас может не быть прав на изменение кода HTML, если вы отвечаете в проекте
только за разработку CSS. Аналогичная ситуация возможна, если вас пригласили
в существующий проект для небольшого обновления стилей.
Если возникнет необходимость в новых стилях, потребуется много времени,
чтобы добавить классы к существующему сайту с миллионом страниц. Намного
проще написать код CSS, который успешно обработает уже существующие воз-
можности HTML, и вам не придется возвращаться и перелопачивать весь HTML
для создания дополнительных якорей стилей.
планирование на Случай ошиБок
Хотя нельзя отметать вероятность того, что человек, ответственный за создание страниц,
сохранит изображения не в ту папку, мне кажется, что ситуация, когда клиент забывает
о необходимости назначить класс, встречается гораздо чаще. Для того чтобы подстра-
ховаться со всех сторон, можно в качестве запасного варианта определить и назначить
классы, а затем применить стили как к классам, так и к селекторам атрибутов. Таким
образом, если кто-то забудет назначить класс, то ситуацию исправит селектор атрибута,
а если забудут сохранить ресурсы в нужную папку, то на помощь придет класс. Это до-
полнительная работа, но зато вы страхуете себя как на случай неправильных атрибутов,
так и на случай ошибок в классах. Кроме того, IE 6 сможет использовать класс, если вы не
предусмотрели дополнительную поддержку селекторов атрибутов через специальный
сценарий.
Если вы группируете селекторы атрибутов с селекторами классов, помните, что в таком
случае IE 6 игнорирует правило целиком, хотя селектор класса он распознать должен
(разумеется, это не относится к ситуациям, когда дополнительный сценарий обеспечивает
поддержку селекторов атрибутов в IE 6). Для того чтобы предотвратить возможные про-
блемы, выделите каждый из селекторов в собственное правило, например, так:
img[src*=thumbnails] {
float: left;
margin: 0 20px 10px 0;
}
www.trk.kg