Чтение онлайн

на главную - закладки

Жанры

CSS3 для веб-дизайнеров
Шрифт:

Оформление полей ввода

Начнем добавлять стили, которые превращают поля ввода по умолчанию во что-то особенное. На этот раз мы воспользуемся селектором по параметру из CSS2.1, чтобы обратиться исключительно к элементам

input type="text"
(не затрагивая кнопку
input type="submit"
).

Если бы в объявлении мы просто написали:

#thing-alerts
input

то стиль бы применился ко всем объектам типа

input
(и к полям ввода, и к кнопкам).
Но если мы исправим это на:

#thing-alerts input[type="text"]

то будут затронуты исключительно поля ввода.

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

Помните, что селекторы по параметру поддерживаются в IE7 и выше, но не поддерживаются в IE6. Впрочем, это нормально, поскольку мы изменяем некритический слой – вид элементов формы. IE6 проигнорирует эти правила, что вполне допустимо в этом случае.

Следующий код объявляет подходящие

width
,
padding
и 
font-size
, отключает выставленный по умолчанию
border
, добавляет
background-color
и скругляет углы свойством
border-radius
.

#thing-alerts fieldset input[type="text"] {

width: 215px;

padding: 5px 8px;

font-size: 1.2em;

color: #666;

border: none;

background-color: #fff;

– webkit-border-radius: 4px;

– moz-border-radius: 4px;

– o-border-radius: 4px;

border-radius: 4px;

}

На рис. 6.05 показан результат – так, как он отображается в Safari (с аналогичным видом в Firefox и Opera). Теперь у нас есть плоские поля ввода со скругленными углами, которые выглядят хорошо; но давайте добавим немного объема, чтобы они больше походили на привычные редактируемые поля.

Рис. 6.05. Плоские поля ввода со скругленными углами

Градиенты в CSS3

Искусный способ, которым можно добавить объема, – это градиенты, которые появились в CSS3. То есть можно создавать градиентные переходы между цветами, не используя картинки. Звучит очень привлекательно, не так ли?

Градиенты в CSS сейчас поддерживаются только в Safari 4+, Chrome 2+ и Firefox 3.6+, но опять-таки для некритического использования это может быть гибким решением с хорошим запасным вариантом.

CSS-градиенты могут быть применены везде, где в стилях может быть использовано изображение. Другими словами – в виде значений для

background-image
,
list-style-image
и для сгенерированного содержимого.

Синтаксис CSS-градиентов немного

отличается в Safari и Firefox. Спецификация (очень ранняя), впрочем, склоняется к варианту, который предлагает Firefox. Это важный пример того, почему браузерные префиксы – существенная часть процесса проработки спецификации: два различных синтаксиса могут быть должным образом объявлены для каждого браузера, пока официальная спецификация обсуждается.

Я честно признаюсь, что оба варианта могут показаться немного запутанными. Создание градиента включает в себя указание большого количества параметров: цвета, остановки цветов, направление градиента и т. п.

К примеру, вот синтаксис, который задает простой линейный градиент на фон элемента; работает в браузерах на движках WebKit и Mozilla:

#foo {

background-image: – webkit-gradient(linear,
0% 0%, 0% 100%, from(#fff), to(#999));

background-image: – moz-linear-gradient(0% 100%
90deg, #fff, #999);

}

Он далеко не интуитивно ясный; также сложно запомнить отличия между браузерами.

Лучший способ получить верный код, который я нашел, – использовать прекрасный визуальный редактор, написанный Джоном Оллсоппом (рис. 6.06,. [17]

Рис. 6.06. Инструмент создания CSS-градиентов, написанный Джоном Оллсоппом

17

http://www.westciv.com/tools/gradients/index-moz.html

Пользуйтесь этим редактором, чтобы графически создать нужные градиенты; затем получите нужный код для Safari и Firefox. Инструмент Джона берет на себя всю тяжелую работу. Очень помогает – учитывая, что я сам пока что не запомнил верный синтаксис (и отличия между браузерами).

Джонатан Снук написал хорошую статью о том, как разбираться в синтаксисе градиентов; она также может оказаться полезной: http://bkaprt.com/css3/15/ [18]

Градиент, который мы хотим добавить к полям ввода, – очень незаметный переход цвета, который должен придать им объема (рис. 6.07). После экспериментов с инструментом Джона Оллсоппа получилось две строки кода:

18

http://snook.ca/archives/html_and_css/multiple-bg-css-gradients

#thing-alerts fieldset input[type="text"] {

width: 215px;

padding: 5px 8px;

font-size: 1.2em;

color: #666;

border: none;

background-image: – webkit-gradient(linear,
0% 0%, 0% 12%, from(#999), to(#fff));

background-image: – moz-linear-gradient(0% 12%
90deg, #fff, #999);

Поделиться:
Популярные книги

Тринадцатый III

NikL
3. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый III

Ефрейтор. Назад в СССР. Книга 2

Гаусс Максим
2. Второй шанс
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Ефрейтор. Назад в СССР. Книга 2

Я еще граф. Книга #8

Дрейк Сириус
8. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Я еще граф. Книга #8

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

На обочине 40 плюс. Кляча не для принца

Трофимова Любовь
Проза:
современная проза
5.00
рейтинг книги
На обочине 40 плюс. Кляча не для принца

Третий. Том 5

INDIGO
5. Отпуск
Фантастика:
космическая фантастика
фантастика: прочее
5.00
рейтинг книги
Третий. Том 5

Ботаник 2

Щепетнов Евгений Владимирович
2. Ботаник
Фантастика:
фэнтези
боевая фантастика
6.00
рейтинг книги
Ботаник 2

Князь Андер Арес 2

Грехов Тимофей
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Князь Андер Арес 2

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Газлайтер. Том 22

Володин Григорий Григорьевич
22. История Телепата
Фантастика:
боевая фантастика
попаданцы
фэнтези
5.00
рейтинг книги
Газлайтер. Том 22

ЖЛ 9

Шелег Дмитрий Витальевич
9. Живой лёд
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
ЖЛ 9

Старая школа рул

Ромов Дмитрий
1. Второгодка
Фантастика:
альтернативная история
6.00
рейтинг книги
Старая школа рул

Царь царей

Билик Дмитрий Александрович
9. Бедовый
Фантастика:
фэнтези
мистика
5.00
рейтинг книги
Царь царей