Главная страница
qrcode

Книга 5 Текст предоставлен издательством


НазваниеКнига 5 Текст предоставлен издательством
АнкорCSS3 dlya veb-dizaynerov.pdf
Дата05.06.2019
Размер0.66 Mb.
Формат файлаpdf
Имя файлаCSS3_dlya_veb-dizaynerov.pdf
оригинальный pdf просмотр
ТипКнига
#52665
Каталог
Дэн Сидерхолм
CSS3 для веб-дизайнеров
Серия «Актуальные книги для тех, кто создает сайты», книга 5
Текст предоставлен издательством
http://www.litres.ru/pages/biblio_book/?art=4570394
CSS3 для веб-дизайнеров / Дэн Сидерхолм: Манн, Иванов и Фербер; Москва; 2013
ISBN 978-5-91657-595-8
Аннотация
CSS3 – будущее веб-разработки, новый стандарт оформления документов,
расширяющий возможности предыдущего стандарта CSS2. Многие возможности, которые ранее были труднодоступными, в CSS3 могут просто достигаться за счет использования новых свойств оформления.
Абсолютные преимущества технологий нового поколения – на высоте. Прежде всего,
простота и легкость – для программистов, а удобство и комфорт – для пользователей.
Книга Дэна Сидерхолма поможет вам использовать CSS3 прямо сейчас, применяя технологии, появившиеся в новых стандартах.
На примере дизайна веб-страницы автор показывает применение всех, изложенных в книге, инструментов.
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
3
Содержание
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
4
Дэн Сидерхолм
CSS3 для веб-дизайнеров
Предисловие
Сайты – это не то же самое, что изображения сайтов. Когда один человек отрисовывает сайт в Фотошопе, а другой пишет разметку и CSS-код, верстальщик вынужден угадывать и предполагать те или иные намерения дизайнера. Этот процесс интерпретации редко совершенен – только если верстальщика не зовут Дэн Сидерхолм. Когда Дэн верстает макеты других людей, у него все получается так, как нужно, и даже те места, в которых дизайнер ошибся. Например, Дэн неизбежно превращает фиксированные размеры объекта в макете в гибкий, легко читаемый и надежный код.
(И правда, Дэн ввел в обращение фразу «надежный веб-дизайн», когда учил всех нас такому дизайну.)
В случае Дэна гибкий никогда не означает недоделанный. Детали всегда важны, потому что Дэн не только талантливый верстальщик, всегда думающий об интересах пользователя, –
он также прирожденный дизайнер. Он живет дизайном, дышит дизайном и даже подарил миру новый способ делиться дизайном: с
. Дэн еще и прирожденный учитель и веселый человек, и его манера шутить с каменным лицом заставляет самого Стивена Райта выглядеть несерьезным в сравнении. Дэн многому учит, помогая дизайнерам улучшать свои навыки.
Вот почему, друзья, мы попросили его рассказать о CSS3. Можно лишь мечтать об учителе умнее, опытнее; о человеке, более сконцентрированном на дизайне, или о большем ценителе веб-стандартов, чем наш друг Дэн. Приятного чтения!
Джеффри Зельдман
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
5
1. CSS3 сегодня
Глядя в прошлое, на яркую историю CSS, мы видим важные этапы, которые формировали наше видение веб-дизайна. Прорывные приемы, статьи и события научили нас создавать гибкие и доступные сайты, которыми мы можем гордиться – и их обликом, и качеством кода.
Можно утверждать, что все интересное началось в 2001-м, когда Джефри Зельдман написал статью «К черту плохие браузеры» (
)
1
, обозначив рассвет эпохи CSS. Этот манифест заставил дизайнеров двигаться дальше и использовать CSS
не только для задания шрифтов и цветов ссылок, таким образом оставляя позади старые браузеры, не понимавшие CSS1. Да-да, CSS1.
Затем мы провели несколько лет, обнаруживая приемы верстки на CSS, которыми достигали того, что от нас хотели клиенты и начальники, и делились этими приемами. Это было прекрасное время: мы экспериментировали, расширяли границы, находили сложные способы борьбы с трудностями, которые несут особенности отображения сайтов в браузерах, – все ради возросшей гибкости, улучшенной доступности, упрощенного кода.
Приблизительно около 2006 года разговоры о CSS стихли. Решения к большей части задач, встающих перед нами, были найдены и хорошо задокументированы. Для известных ошибок браузеров были найдены несколько обходных путей. Были созданы группы поддержки для дизайнеров, страдающих из-за необъяснимых ошибок Internet Explorer. Наши волосы стали седеть (говорю за себя). Впрочем, важнее всего то, что современные браузеры были сравнительно бездвижными. Этот период status quo дал нам время отточить используемые приемы и выработать набор передовых практик, но положение дел стало немного,
осмелюсь сказать, скучным для приверженца CSS, который стремился получить лучшие инструменты.
К счастью, изменения наступили. Браузеры стали обновляться чаще (по крайней мере некоторые). Firefox и Safari не только принялись увеличивать доли рынка – они также пожинали плоды более короткого цикла разработки, добавляя поддержку устоявшихся стандартов одновременно с более экспериментальными свойствами. Во многих случаях те технологии, которые внедрялись браузерами, нацеленными на будущее, были включены в черновик спецификации. Другими словами, иногда именно производители браузеров развивали спецификацию CSS3.
1
Здесь и далее прим. ред.
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
6
Не читайте спецификации
Зайдите в комнату, наполненную веб-дизайнерами, и спросите их: «Кто любит читать спецификации?» Возможно, вы увидите одну поднятую руку. (Если этот человек – вы, то я горжусь вами и свободным временем, которое у вас есть, по всей видимости.) Пусть они и представляют собой важный справочник, я определенно не получаю удовольствия от чтения спецификаций целиком и не рекомендую заниматься этим, чтобы полностью постигнуть
CSS3.
Хорошая новость заключается в том, что CSS3 – это на самом деле набор модулей,
которые, согласно задумке, должны внедряться изолированно и независимо друг от друга.
Это очень хорошо. Такой подход – дробление спецификации – позволяет одним фрагментам спецификации двигаться быстрее, чем другим, и подталкивает производителей браузеров к тому, чтобы они внедряли хорошо проработанные фрагменты до того, как спецификация
CSS3 будет считаться целиком законченной.
W3C (World Wide Web Consortium. Прим. перев.) объясняет модульный подход так:
Вместо того чтобы пытаться впихнуть десятки обновлений
в единую неделимую спецификацию, будет намного проще и эффективнее
дать возможность обновлять отдельные куски спецификации.
Модульность даст возможность CSS обновляться чаще и точнее, таким
образом позволяя более гибкое и своевременное развитие спецификации в
целом
2
Преимущество для нас, веб-дизайнеров, в том, что одновременно с экспериментированием и ускоренным циклом релизов приходит возможность использовать многие свойства CSS3, не дожидаясь, пока они получат статус кандидат в рекомендации (Candidate
Recommendation. Прим. перев.) – возможно, это произойдет годы спустя.
Но, разумеется, если вам нравится читать спецификации – вперед! Естественно, из них можно многому научиться – но намного прагматичнее сконцентрироваться на том, что уже внедрено и может быть использовано сегодня, и об этих вещах мы поговорим в этой главе.
Затем мы будем применять эти вещи на конкретных примерах.
Мне всегда удавалось научиться большему о веб-дизайне, изучая рабочие примеры,
нежели читая нормативные документы, и именно такого подхода мы будем придерживаться на страницах этой книги.
2
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
7
CSS3 – для всех
От многих веб-дизайнеров со всего мира я слышу одну и ту же фразу: «Не могу дождаться, хочу начать использовать CSS3… когда его закончат».
Правда состоит в том, что можно начинать использовать CSS3 прямо сейчас. К счастью, не нужно перестраивать свое мышление или радикально менять те способы, на основе которых сейчас разрабатываются сайты. Каким образом можно использовать CSS3 на любом проекте? Мы изучим те ситуации, где пользоваться CSS3 приемлемо, концентрируясь непосредственно на взаимодействии.
Целиться на взаимодействие
Если в течение последних нескольких лет мы все делали правильно, то работали на основе веб-стандартов (семантическая HTML-разметка и CSS для форматирования, шрифтов, цветов и так далее), оставляя большинство интерактивных эффектов – анимацию, обратную связь, движение – технологиям Flash и JavaScript. Свойства CSS3, которые медленно,
но верно появляются в браузерах, нацеленных на будущее, позволяют нам переносить часть такого взаимодействия в таблицы стилей.
Как дизайнер интерфейсов, которому намного ближе визуальная сторона веб-дизайна,
а не программирование, чем больше я могу сделать для создания наглядного интерфейса,
пользуясь привычными инструментами – HTML и CSS, – тем больше я радуюсь.
CSS3 придумали для веб-дизайнеров – таких, как вы и я, – и мы можем начать пользоваться его частями сегодня – до тех пор, пока мы знаем, когда и как его применять.
Когда применять CSS3
В терминах визуального взаимодействия с сайтом можно разбить все на две категории:
ключевое и второстепенное (табл. 1.01).
Таблица 1.01. Визуальное взаимодействие с сайтом можно разбить на категории ключевое и второстепенное. К
второстепенному CSS3 можно применять сегодня
Такие составляющие, как брендирование, юзабилити, и расположение блоков крайне важны для успеха любого сайта, поэтому для этих элементов пользоваться технологией,
которая не полностью поддерживается всеми браузерами, – рискованное предприятие.
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
8
Например, в развивающейся спецификации CSS3 появилось несколько элементов для управления форматом – это то, что нам всем крайне нужно.
Уже многие годы мы заставляем свойство float справляться с раскладкой блоков.
Мы разобрались, как справляться с задачами с помощью тех средств, которые у нас есть, но настоящий механизм создания раскладки совершенно необходим.
Учитывая все вышесказанное, два из трех модулей CSS3, касающихся раскладки, еще не внедрены ни в один браузер. Эти модули по-прежнему находятся в разработке, и они попрежнему весьма запутанны, сложны для понимания и, скорее всего, отличаются от окончательного решения, которое мы ищем. Что важнее, для такой важной вещи, как форматирование, CSS3 – просто не тот инструмент.
С другой стороны спектра расположены второстепенные события – взаимодействие
(эффекты наведения и фокусировки, оформление форм, гибкая адаптация под любой размер окна) и визуальные эффекты, которые сопровождают такое взаимодействие (включая анимации). Менее важно сохранить одинаковое поведение такого рода в разных браузерах, что дает отличную возможность применять определенные фрагменты CSS3 для тех браузеров,
которые поддерживают их сейчас.
На протяжении всей книги мы будем применять CSS3 для этих некритических событий, сохраняя более важные характеристики страницы нетронутыми для всех браузеров, вне зависимости от того, поддерживают ли они CSS3.
Когда мы решаем сконцентрироваться на таких некритических частях визуального взаимодействия, становится намного проще использовать CSS3 поверх CSS2.1 и обогащать взаимодействие с сайтом, не беспокоясь о том, что основной смысл, формат и доступность будут искажены.
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
9
Главные свойства CSS3, применимые сейчас
Теперь, когда мы точно определили область взаимодействия, в которой можно смело использовать CSS3, нам стоит также определиться, какие свойства CSS3 мы можем использовать. Иными словами, какие фрагменты спецификации достигли того уровня поддержки браузерами, чтобы быть применимыми уже сейчас.
Крупные блоки CSS3 до сих пор не внедрялись ни в один браузер. Какие-то вещи попрежнему находятся в разработке. Можно любопытствовать о тех блоках, которые находятся в движении, но куда разумнее обратить внимание на то, что на самом деле работает – и, к счастью, такого уже предостаточно.
Давайте рассмотрим сравнительно небольшой набор главных свойств CSS3, которые будут использованы в примерах в этой книги (см. ниже и табл. 1.02). Сейчас приводятся только определения этих свойств; подробное описание синтаксиса и практика применения будут даны позже.
Таблица 1.02. Свойства CSS3 и браузеры, поддерживающие их
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
10
border-radius
Скругляет углы элемента на заданное значение – радиус. Поддерживается в Chrome
3+, Firefox 1+, Opera 10.5+ и IE9 Beta. Пример:
.foo {
border-radius: 10px;
}
text-shadow
Свойство из CSS2 (выкинутое в версии 2.1, возвращенное в CSS3), которое добавляет тень к тексту; можно указывать направление, количество размытия и цвет тени. Поддерживается в Safari 1.1+, Chrome 2+, Firefox 3.1+ и Opera 9.5+. Пример:
p {
text-shadow: 1px 1px 2px #999;
}
box-shadow
Добавляет тень к элементу. Синтаксис тот же, что у свойства text-shadow. Поддерживается в Safari 3+, Chrome 3+, Firefox 3.5+, Opera 10.5+ и IE9 Beta. Пример:
.foo {
box-shadow: 1px 1px 2px #999;
}
Несколько фоновых изображений
CSS3 дает возможность поставить несколько фоновых изображений на один элемент
(разделяя их запятыми) вместо всего лишь одной картинки согласно спецификации CSS2.1.
Поддерживается в Safari 1.3+, Chrome 2+, Firefox 3.6+, Opera 10.5+ и IE9 Beta. Пример:
body {
background: url(image1.png) no-repeat top left,
url(image2.png) repeat-x bottom left,
url(image3.png) repeat-y top right;
}
opacity
Определяет непрозрачность элемента. Значение 1 соответствует полной непрозрачности; значение 0 соответствует полной прозрачности. Поддерживается в Safari 1.2+,
Chrome 1+, Firefox 1.5+, Opera 9+ и IE9 Beta. Пример:
.foo {
opacity: 0.5; /*.foo will be 50% transparent */
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
11
}
RGBA
Не свойство CSS, но, скорее, новая цветовая модель, введенная в CSS3, добавляющая возможность задавать уровень прозрачности элемента вместе с его цветом в формате RGB.
Поддерживается в Safari 3.2+, Chrome 3+, Firefox 3+, Opera 10+ и IE9 Beta. Пример:
.foo {
color: rgba(0, 0, 0, 0.75); /* black at 75% opacity */
}
Разумеется, этот список далеко не полный. CSS3 содержит намного больше свойств и инструментов, многие из которых по-прежнему разрабатываются и пока что не включены ни в один браузер. Но вы заметите, что каждое свойство из списка выше достигло определенного уровня поддержки браузерами: оно работает хотя бы в двух наиболее распространенных браузерах. В некоторых случаях, поддержка обещана в будущих версиях Internet
Explorer (и Opera).
Итак, теперь перед нами – краткий список свойств, с которыми можно экспериментировать, построенный на основе их сравнительно качественной поддержки в Safari, Chrome,
Firefox и Opera. Пока что они работают не везде одинаково, и далее мы обсудим, почему такое поведение в порядке вещей и как подготовиться к этой неоднородной поддержке.
Какие темы не будут затронуты
Я перечислил несколько свойств, которые будут часто применяться в этой книге, а как же остальные? Я решил не пытаться охватить все в одной книге, а рассказать лишь о том,
что применимо прямо сейчас по причине надежной и устойчивой поддержки браузерами.
Есть и другие фрагменты спецификации CSS3, которые уже можно применять, и о которых можно написать отдельную книгу:
1. Медиазапросы (
)
2. Многоколоночный текст (
)
3. Веб-шрифты (
)
Обязательно посмотрите на эти модули.
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
12
Префиксы конкретных браузеров
Ранее упоминалось, что спецификация CSS3 – это набор модулей, которые постепенно интегрируются производителями браузеров. Иногда интеграция включает в себя экспериментальную поддержку. Это означает, что пока спецификацию пишут, обсуждают и критикуют в W3C, изготовитель браузера может решить добавить поддержку для какихто свойств, чтобы опробовать их на практике. В последнее время такая практика стала естественной частью процесса, и обратная связь, получаемая во время экспериментального использования, часто применяется, чтобы внести поправки в спецификацию.
Д. Сидерхолм. «CSS3 для веб-дизайнеров»
13
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком,
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal,
WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

перейти в каталог файлов


связь с админом