—»     —»   Базовые, готовые к использованию, CSS-стили
  Раздел: CSS/Style Sheets   Комментариев: 2  

Базовые, готовые к использованию, CSS-стили



Сегодня мы хотим немного глубже окунуться в процесс разработки. Когда вы разрабатываете веб-сайт или приложение с нуля, то вам обязательно понадобится коллекция паттернов, помогающих в разработке. Именно об этом и пойдет речь сегодня. Для вас мы подготовили небольшую подборку CSS-сниппетов готовых к использованию!

Базовые, готовые к использованию, CSS-стили

Перед тем, как продолжить, позвольте объяснить вам, как это было сделано. Мы попытались классифицировать вещи в соответствии с их типом, и у нас получились улучшения для элементов блочного уровня, ссылок, элементов ввода, обычного текста и так далее.

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

Вы также можете создать классы классов для некоторых вещей, чтобы подстроить их под собственные проекты. Это может выглядеть следующим образом:

.my-class {
/* My awesome styles here */
}

.my-class.custom {
/* Specific styles to .my-class only if it only has the .custom class */
}

Таким образом, класс .custom сам по себе ничего не значит, но если вы примените его к элементу .my-class, то сможете немного изменить стили .my-class. Вы понимаете, что мы имеем в виду?

Теперь вы понимаете суть, и давайте перейдем к паттернам. А начнем мы с элементов блочного уровня (block-level).

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

Элементы блочного уровня

Вы занимаетесь разработкой галереи изображений и хотите задать незначительные стили для ваших изображений? Разрабатываете шаблон для ваших статей в блоге и хотите сделать акцент на блоке aside? Составляете резюме и хотите немного приукрасить фотографию? Теперь у вас есть такая возможность!

Разметка

Здесь для всего раздела мы взяли разделение с классом block-level и применили дополнительные классы. Вы, конечно же, можете сделать здесь то, что захотите, так как это ведь элемент блочного уровня. Если вы хотите применить один из этих стилей к изображению, не забудьте добавить к нему параметр display: block.

<div class="block-level"></div>

Базовый CSS

В демо мы применили несколько строк кода CSS к нашему маленькому div-элементу:

.block-level {
width: 120px;
height: 120px;
margin: 20px;
position: relative;
float: left;
}

Вы можете обнаружить больше стилей для шрифта, но это только лишь для демонстрации. Давайте сосредоточимся на основных стилях.

Тени

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

Базовые, готовые к использованию, CSS-стили

Суть заключается в том, чтобы задать совсем незначительные тени блочному элементу. Не стоит применять толстую темную тень, которая как будто бы кричит «ХЕЙ, Я ТУТ, ПОСМОТРИ!». Нужно что-то утонченное.

.drop-shadow {
background: #9479fa;
}

.drop-shadow.top {
box-shadow: 0 -4px 2px -2px rgba(0,0,0,0.4)
}

.drop-shadow.right {
box-shadow: 4px 0 2px -2px rgba(0,0,0,0.4)
}

.drop-shadow.bottom {
box-shadow: 0 4px 2px -2px rgba(0,0,0,0.4)
}

.drop-shadow.left {
box-shadow: -4px 0 2px -2px rgba(0,0,0,0.4)
}

Посмотрите, как мы используем значение отрицательного распространения тени для того, чтобы придать глубины самой тени. Таким образом она выглядит более реалистично. Нам так кажется, по крайней мере.

Примечание: цвет, использованный в объявлении box-shadow может варьироваться в зависимости от background-color вашего элемента. Чем светлее блок, тем светлее должна быть тень для того, чтобы контраст был несильным.

Примечание: у вас не будет возможности к одному и тому же элементу добавлять классы в разном направлении, так как последние будут переписывать начальные. Если вам захочется, чтобы у блока было больше одной тени, просто создайте несколько параметров box-shadow.

Базовые, готовые к использованию, CSS-стили

Эти 4 примера направлены на создание акцента на контенте посредством внешнего свечения, черного или белого, размытого или нет, в зависимости от того, чего вам хочется и, что более важно, от фона блока (монотонный, текстура, изображение и так далее).

div[class*="emphasize-"] {
background: #69D2E7;
}

.emphasize-dark {
box-shadow: 0 0 5px 2px rgba(0,0,0,.35)
}

.emphasize-light {
box-shadow: 0 0 0 10px rgba(255,255,255,.25)
}

.emphasize-inset {
box-shadow: inset 0 0 7px 4px rgba(255,255,255,.5)
}

.emphasize-border {
box-shadow: inset 0 0 0 7px rgba(255,255,255,.5)
}

Базовые, готовые к использованию, CSS-стили

Последнее, но не менее важное в деле с тенями, это два эффекта рельефности. Первый совсем незначительный, так как он создает небольшое отражение света в самом верху объекта, а второй большее сложный. Это отлично смотрится на круговых элементах вроде кнопок.

div[class*="embossed"] {
background: #8ec12d;
color: #333;
text-shadow: 0 1px 1px rgba(255,255,255,0.9);
}

.embossed-light {
border: 1px solid rgba(0,0,0,0.05);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.embossed-heavy {
border: 1px solid rgba(0,0,0,0.05);
box-shadow:
inset 0 2px 3px rgba(255,255,255,0.3),
inset 0 -2px 3px rgba(0,0,0,0.3),
0 1px 1px rgba(255,255,255,0.9);
}

Градиенты

Базовые, готовые к использованию, CSS-стили

Иногда вам не нужно будет применять мягкий градиент к элементу для того, чтобы создать небольшой рельеф. Идея заключалась в том, чтобы предоставить вам градиент, который вам не придется менять, если вы измените фоновое изображение или цвет.

div[class*="gradient"]{
background-color: #DEB8A0;
box-shadow: 0 0 0 1px #a27b62;
}

.gradient-light-linear {
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
}

.gradient-dark-linear {
background-image: linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,0));
}

В целом, техника заключается в том, чтобы добавить слой с градиентом от прозрачного до более прозрачного поверх вашего элемента. Примерно так же, как это делается в Photoshop. Довольно просто.

Пожалуйста учтите, что градиенты могут не работать в некоторых браузерах (вроде IE9), и вам придется позаботиться о запасных вариантах.

Итак, это была легкая часть. Теперь давайте разберемся с радиальными градиентами. Вам хочется добавить привлекательные световые эффекты к вашим блочным элементам, не так ли? Тогда вам понадобятся радиальные градиенты. Начнем с простого варианта для браузеров с наличием поддержки.

.gradient-light-radial {
background-image: radial-gradient(center 0, circle farthest-corner, rgba(255,255,255,0.4), rgba(255,255,255,0));
}

.gradient-dark-radial {
background-image: radial-gradient(center 0, circle farthest-corner, rgba(0,0,0,0.15), rgba(0,0,0,0));
}

За исключением того факта, что нам пришлось проверять наш синтаксис каждый раз, когда нам хотелось добавить радиальный градиент, все прошло довольно просто, не так ли?

Закругленные углы

Базовые, готовые к использованию, CSS-стили

Замечали ли вы, что уже много лет шла борьба за возможность иметь параметр border-radius без префикса для всех современных браузеров, и теперь, когда они у нас есть, тенденция стремится к тому, что закругленные углы больше никому не нужны?

В зависимости от дизайна, острые углы могут выглядеть красиво, либо испортить все. В любом случае, возможно вам захочется добавить border-radius к нескольким элементам. Даже маленьким. Именно для этого мы и создали несколько классов.

div[class*="rounded"] {
background: #fca1cc;
}

.light-rounded {
border-radius: 3px;
}

.heavy-rounded {
border-radius: 8px;
}

.full-rounded {
border-radius: 50%;
}

.barrel-rounded {
border-radius: 20px/60px;
}

Наша теория о border-radius (в зависимости от размера элемента):

* На 0px у нас будут острые углы.

* Между 1 и 4px у нас получатся слегка закругленные углы. Большинство людей даже не скажут, что эти углы закругленные, но они точно не подумают, что эти углы остры как нож!

* Между 5 и 10px у вас получатся, по нашему мнению, ужасные углы. Они выглядят так, как будто вы пытались последовать инстинкту «делаем, потому что можем сделать». К тому же, как мы уже сказали ранее, мода на закругленные углы почти прошла.

Есть два параметра, которые вам следует запомнить при использовании параметра border-radius:

* border-radius: 50% дает нам идеальный круг, если вы оформляете квадратный элемент. Если это прямоугольник, то он превратится в эллипс.

* Для того чтобы достичь border-radius в стиле иконки, то идеальное соотношение будет 6.4, если следовать совету Нины Григорьевой. Так что, если у вас будет квадрат 100*100 пикселей, и вы захотите превратить его в иконку, то нужно будет применить border-radius со значением 16 пикселей (100/6.4=15.625).

Ссылки

На этом мы заканчиваем с украшениями для блочных элементов. Давайте теперь перейдем к ссылкам. Ссылки, безусловно, мы встречаем на каждом шагу. От навигации до внешних ссылок, от ссылок на социальные сети до анкоров, ссылки повсюду!

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

Разметка

Вы вероятно уже поняли ее. Для этого раздела нам понадобятся 2 разных контекста: предложение с ссылкой для варианта со строчной ссылкой, а также простая ссылка для примера с блочной ссылкой. Мы используем анкорный тег в последнем случае, но вы можете использовать элементы ввода или кнопку.

<!-- Строчная -->
This is some dummy text to show an <a href="#">inline link</a>.

<!-- Блочная -->
<a href="#">Link</a>

Строчные ссылки

Базовые, готовые к использованию, CSS-стили

Мы старались как можно дальше отойти от стандартного подчеркивания ссылки и изменения цвета при наведении. Здесь неплохо быть немного более креативными, и тогда можно сделать нечто привлекательное. Не так ли?

.inline-link-1 {
display: inline-block;
margin: 0 0.2em;
padding: 3px;
background: #97CAF2;
border-radius: 2px;
transition: all 0.3s ease-out;
/* Font styles */
text-decoration: none;
font-weight: bold;
color: white;
}

.inline-link-1:hover {
background: #53A7EA
}

.inline-link-1:active {
background: #C4E1F8
}

.inline-link-1:visited {
background: #F2BF97
}

Важно: не забудьте добавить состояние visited к строчным ссылкам. Некоторые люди любят знать о том, какие ссылки они уже посещали. Здесь мы применили вращение на 180 градусов по окружности палитры оттенков. Это позволяет нам легко отличить стандартные ссылки от посещенных.

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

Это был «сложный» пример. Давайте рассмотрим нечто более простое, основанное на стандартных стилях ссылок.

Базовые, готовые к использованию, CSS-стили

.inline-link-2 {
display: inline-block;
border-bottom: 2px dashed rgba(0,0,0,0.9);
/* Font styles */
text-decoration: none;
color: #777;
}

.inline-link-2:hover {
border-bottom-style: dotted;
}

.inline-link-2:active {
border-bottom-style: solid;
}

.inline-link-2:visited {
border-bottom: 2px solid #97CAF2;
}

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

Базовые, готовые к использованию, CSS-стили

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

.inline-link-3 {
display: inline-block;
position: relative;
padding-left: 6px;
/* Font styles */
text-decoration: none;
color: #6AB3EC;
text-shadow: 0 1px 1px rgba(255,255,255,0.9);
}

.inline-link-3:hover {
color: #3C9CE7;
}

.inline-link-3:before {
content: "25BA";
font-size: 80%;
display: inline-block;
padding-right: 3px;
pointer-events: none;
}

.inline-link-3:hover:before {
color: #F2BF97;
}

Блочные ссылки

Теперь давайте рассмотрим пример с блочными ссылками. В большинстве случаев, когда пользователь может взаимодействовать с вашим сайтом или приложением, они должны быть оборудованы кнопкой. Кнопкой подтверждения комментария, перехода на другую страницу, авторизации и многого другого. Каким бы ни был элемент, который вы используете для этого («a», «input type="submit"», «button» и т.д.), возможно вам захочется применить некоторые интересные стили для привлечения пользователей.

Базовые, готовые к использованию, CSS-стили

Первый пример самый-самый простой. Тем не менее, в некоторых дизайнах он очень хорошо смотрится. Здесь мы, конечно же, имеем в виду Windows 8.

.metro {
display: inline-block;
padding: 10px;
margin: 10px;
background: #08C;
/* Font styles */
color: white;
font-weight: bold;
text-decoration: none;
}

.metro:hover {
background: #0AF
}

Итак, давайте оставим тот же фундамент, но используем трехмерный эффект. Вы, вероятно, узнаете этот эффект, если следите за материалами на CSS-Tricks. Мы даже используем дочерний класс.

.metro.three-d {
position: relative;
box-shadow:
1px 1px #53A7EA,
2px 2px #53A7EA,
3px 3px #53A7EA;
transition: all 0.1s ease-in;
}

.metro.three-d:active {
box-shadow: none;
top: 3px;
left: 3px;
}

Разве выглядит не круто? Особенно в активном состоянии. Итак, на тему metro достаточно.

Базовые, готовые к использованию, CSS-стили

Давайте попробуем что-нибудь полегче. Этот пример будет прозрачным с плотной границей и незначительной тенью.

.bordered-link {
display: inline-block;
padding: 8px;
border: 3px solid #FCB326;
border-radius: 6px;
box-shadow:
0 2px 1px rgba(0, 0, 0, 0.2),
inset 0 2px 1px rgba(0, 0, 0, 0.2);
/* Font styles */
text-decoration: none;
font-size: 14px;
text-transform: uppercase;
color: #222;
}

.bordered-link:hover {
border-color: #FDD68B
}

.bordered-link:active {
border-color: #FEE8BD
}

Базовые, готовые к использованию, CSS-стили

Давайте создадим нечто более привлекательное.

.modern {
display: inline-block;
margin: 10px;
padding: 8px 15px;
background: #B8ED01;
border: 1px solid rgba(0,0,0,0.15);
border-radius: 4px;
transition: all 0.3s ease-out;
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.5),
0 2px 2px rgba(0,0,0,0.3),
0 0 4px 1px rgba(0,0,0,0.2);
/* Font styles */
text-decoration: none;
text-shadow: 0 1px rgba(255,255,255,0.7);
}

.modern:hover {
background: #C7FE0A
}

Мы даже можем добавить немного более сложные тени блока посредством следующего класса:

.embossed-link {
box-shadow:
inset 0 3px 2px rgba(255,255,255,.22),
inset 0 -3px 2px rgba(0,0,0,.17),
inset 0 20px 10px rgba(255,255,255,.12),
0 0 4px 1px rgba(0,0,0,.1),
0 3px 2px rgba(0,0,0,.2);
}

.modern.embossed-link {
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.5),
0 2px 2px rgba(0,0,0,0.3), 0 0 4px 1px rgba(0,0,0,0.2),
inset 0 3px 2px rgba(255,255,255,.22),
inset 0 -3px 2px rgba(0,0,0,.15),
inset 0 20px 10px rgba(255,255,255,.12),
0 0 4px 1px rgba(0,0,0,.1), 0 3px 2px rgba(0,0,0,.2);
}

.modern.embossed-link:active {
box-shadow:
inset 0 -2px 1px rgba(255,255,255,0.2),
inset 0 3px 2px rgba(0,0,0,0.12);
}

Последнее, но не менее важное, это класс, который добавляет псевдо-элемент, который позволяет нам сделать все так, как будто кнопка является частью фона.

.socle {
position: relative;
z-index: 2;
}

.socle:after {
content: "";
z-index: -1;
position: absolute;
border-radius: 6px;
box-shadow:
inset 0 1px 0 rgba(0,0,0,0.1),
inset 0 -1px 0 rgba(255,255,255,0.7);
top: -6px;
bottom: -6px;
right: -6px;
left: -6px;
background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0));
}

Возможно, вам захочется изменить значение параметра border-radius, чтобы он соответствовал вашим требованиям. В зависимости от border-radius у кнопки, он может выглядеть странно.

То же самое и с ссылками, но теперь вы можете создать собственный класс, чтобы задать базовые стили вашим анкорам.

Элементы ввода

Как мы уже рассказывали в предыдущих руководствах, формы можно встретить повсюду в интернете, и большинство из них представляют собой поля ввода. К сожалению, стандартные стили для полей ввода довольно непривлекательны. Мы уверены, что можно сделать лучше!

Разметка

<input type="text" placeholder="Input name">

CSS-код

Давайте начнем с чего-нибудь простого: заменим стандартную границу и добавим закругленные углы.

Базовые, готовые к использованию, CSS-стили

.simple-input {
display: block;
padding: 5px;
border: 4px solid #F1B720;
border-radius: 5px;
color: #333;
transition: all 0.3s ease-out;
}

.simple-input:hover {
border-radius: 8px
}

.simple-input:focus {
outline: none;
border-radius: 8px;
border-color: #EBD292;
}

Поля ввода – это довольно странные элементы, поэтому мы выставляем display:block для того, чтобы все облегчить. Отступы здесь для того, чтобы оставить контенту немного пространства.

Вам когда-нибудь хотелось воссоздать поля ввода из iOS?

Базовые, готовые к использованию, CSS-стили

.mac {
display: block;
border: none;
border-radius: 20px;
padding: 5px 8px;
color: #333;
box-shadow:
inset 0 2px 0 rgba(0,0,0,.2),
0 0 4px rgba(0,0,0,0.1);
}

.mac:focus {
outline: none;
box-shadow:
inset 0 2px 0 rgba(0,0,0,.2),
0 0 4px rgba(0,0,0,0.1),
0 0 5px 1px #51CBEE;
}

Базовые, готовые к использованию, CSS-стили

Давайте попробуем что-нибудь сделать с градиентами в качестве фона, а также применим небольшую внутреннюю тень блока.

.depth {
display: block;
border: 1px solid rgba(255,255,255,0.6);
background: linear-gradient(#eee, #fff);
transition: all 0.3s ease-out;
box-shadow:
inset 0 1px 4px rgba(0,0,0,0.4);
padding: 5px;
color: #555;
}

.depth:focus {
outline: none;
background-position: 0 -1.7em;
}

Базовые, готовые к использованию, CSS-стили

В качестве последнего примера давайте сделаем нечто более оригинальное. Не блок, а просто линию. Вы также сможете добавить сюда привлекательный шрифт.

.line {
display: block;
border: none;
color: #333;
background: transparent;
border-bottom: 1px dotted black;
padding: 5px 2px 0 2px;
}

.line:focus {
outline: none;
border-color: #51CBEE;
}

Подытожим

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

Основная идея здесь заключается в том, чтобы иметь эти классы в ваших каскадных таблицах стилей (или в отдельном файле, если вы пользуетесь препроцессором), и вызывать их при разработке разметки. Либо просто скопируйте стили, которые вам нужны, для того, чтобы быстренько оформить что-нибудь.

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

Спасибо за чтение руководства! Конечно же, если у вас будут вопросы, не стесняйтесь задавать их в комментариях!

Посмотреть демо | Скачать исходный код
Внимание! У вас нет прав для просмотра скрытого текста.


Данное руководство было переведено по заказу пользователя fortune, который является нашим постоянным читателем с ноября 2009 года.
Обнаружили ошибку или мёртвую ссылку?
Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса.
Нужна органическая вечная ссылка из данной статьи? Постовой?
Подробности здесь
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

Ключевые тэги: CSS
Опубликовал Design FactoRy   Прочитано (раз): 20731   |   Оставлено комментариев: 2
Автор перевода — CoolWebmasters.Com ©   |   Источник материала / оригинал статьи   Распечатать
Другие статьи и новости по теме:
Комментарий #1: 14 ноября 2012 @ 22:19
Написал: fortune — группа: Читатели  
На сайте с: 19.11.2009   |   Публикаций: 0   |   Комментариев: 59
ICQ: 190783170
Ай да молодцы! Ай да спасибо! :) Не ожидал. А я и забыл, что уже 3 года с вами! :) 19-го ноября будет ровно 3 года!


--------------------
я дизайнер - http://imdesigner.ru
Комментарий #2: 14 ноября 2012 @ 22:27
Написал: Design FactoRy — группа: Администраторы  
На сайте с: 21.07.2009   |   Публикаций: 3300   |   Комментариев: 500
ICQ: --- не указано ---
fortune, пообещали - сделали smile
Добавление комментария
Уважаемые пользователи!
При добавлении комментариев на сайт Вам следует учитывать следующее - все комментарии проверяются Администрацией на предмет отсутствия спама. При обнаружении признаков спама, в оставленном Вами комментарии, сам комментарий будет незамедлительно удалён, а Ваш IP-адрес будет забанен без предупреждения! Учётные записи пользователей, рассылающих спам, блокируются/удаляются без права последующего восстановления.

С уважением, Администрация сайта.
* = поля обязательны к заполнению
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос : Назовите месяц November по-русски
Подтверждение кода безопасности :

Включите эту картинку для отображения кода безопасности
обновить, если не виден код


Популярные публикации


















Свежие шаблоны сайтов каждый день
С миру по нитке
«    Сентябрь 2017    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
252627282930