12 приемов CSS для создания прекрасных сайтов

0
2594
views

Перевод статьи «12 CSS tips and tricks which help you to create an amazing websites».

Приемы CSS

CSS (аббревиатура расшифровывается как «каскадные таблицы стилей») это язык, использующийся для описания того, как должны отображаться HTML-элементы. Это одна из первых технологий, изучаемых будущими фронтенд- и веб-разработчиками. Знать основы CSS это просто «мастхэв».

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

1. Вертикальное выравнивание при помощи flex

Flexible Box Layout Model (или просто Flexbox) со времени своего появления приобрел большую популярность. И это неудивительно, ведь данный подход существенно облегчает позиционирование и выравнивание элементов. Применение flex (свойство flexbox) сделало вертикальное выравнивание быстрым и легким. Давайте рассмотрим пример кода для вертикального позиционирования при помощи flex.

See the Pen Vertical alignment with flex by Anna (@annafromduomly) on CodePen.

Как видите, чтобы наш элемент-потомок оказался точно в центре родительского элемента, мы использовали свойства display: flex и align-items: center, justify-content: center.

Просто, правда?

2. Режимы наложения (смешивания)

При помощи CSS можно делать много интересных вещей, в частности, применять режимы наложения слоев. Дли применения режимов наложения есть два свойства: mix-blend-mode (определяет смешивание элементов, находящихся друг за другом) и background-blend-mode (определяет смешивание фоновых изображений). Давайте посмотрим, как это работает:

See the Pen Mix blend mode by Anna (@annafromduomly) on CodePen.

В этом примере мы задаем изображение и заголовок в виде текста. Текст это тот элемент, который смешивается с изображением. Мы использовали значение overlay (режим перекрытия), но есть еще 15 других значений, которыми можно воспользоваться (попробовать можно здесь).

А теперь давайте посмотрим пример с применением background-blend-mode:

See the Pen Background blend mode by Anna (@annafromduomly) on CodePen.

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

3. Параллакс-скроллинг

Параллакс (Parallax) это очень распространенная вещь в современном веб-дизайне. Эффект основан на том, что скорость прокрутки фонового изображения отличается от скорости прокрутки контента. Давайте посмотрим, как этого можно достигнуть при помощи CSS:

See the Pen Parallax scrolling by Anna (@annafromduomly) on CodePen.

В этом примере вы видите, что наш текст и фоновое изображение движутся по-разному. Мы использовали transformZ для ускорения одного элемента и замедления другого. Круто выглядит, правда?

4. Shape outside (придание элементу непрямоугольной формы)

Еще одна прекрасная фича, имеющаяся в CSS, но мало используемая, — свойство shape-outside. Давайте посмотрим, как это работает:

See the Pen Shape outside by Anna (@annafromduomly) on CodePen.

В этом примере вы видите, как текст обтекает круг. Мы установили значение свойства shape-outside как circle 50%, но можно также поставить треугольник, квадрат (базовые фигуры) или какое-то изображение. Обратите внимание на это свойство — оно стоит того, чтобы познакомиться с ним поближе!

5. Обрезка строки

Терпеть не могу, когда мой текст не вмещается в div. В JavaScript есть несколько способов справиться с этим, но знаете ли вы, что CSS тоже позволяет обрезать текст? Давайте посмотрим:

See the Pen Truncate text with CSS by Anna (@annafromduomly) on CodePen.

Вы видите, как CSS обрезает строку и ставит на месте обрезки троеточие. Для обрезки использовались свойства overflow: hidden, white-space: nowrap, а для троеточия — text-overflow: ellipsis.

6. Обрезка изображения при помощи clip path

Бывает, дизайнер подходит к делу чересчур креативно, и вам приходится изыскивать способы вписать изображение в заданную геометрическую форму, например, в треугольник. Для этого можно воспользоваться свойством clip-path:

See the Pen clip-path by Anna (@annafromduomly) on CodePen.

В этом примере мы создали круг, обрезанный круг и многоугольник.

7. Полная высота и ширина

Если мы хотим, чтобы наше приложение или сайт подгонялись под размер зоны просмотра, на помощь приходят единицы измерения vh и vw. Vh означает 100% высоты зоны просмотра, а vw — 100% ширины зоны просмотра. Давайте посмотрим это на примере:

See the Pen vh and vw by Anna (@annafromduomly) on CodePen.

Здесь мы для нашего элемента (синего блока) установили ширину в 50vw, а высоту в 50vh. Это означает, что он должен занимать в ширину 50% от ширины и 50% от высоты зоны просмотра. Если вы попробуете изменить зону просмотра, вы увидите, как будут меняться размеры нашего элемента.

8. Фильтры изображений

Если поработать с изображениями, можно достичь очень интересных эффектов. CSS позволяет использовать большое количество фильтров, чтобы разработчики могли работать с графикой, не прибегая к Photoshop. Ну, например:

See the Pen Image filters by Anna (@annafromduomly) on CodePen.

Здесь мы для одного изображения использовали 7 разных фильтров.

9. CSS-анимации

Анимации на сайте привлекают внимание пользователя, именно поэтому они так часто используются в веб-дизайне. Давайте посмотрим, как создавать их при помощи CSS:

See the Pen CSS animations by Anna (@annafromduomly) on CodePen.

В этом примере мы создали маленькую точку, которая меняет свою позицию и непрозрачность: при каждом перемещении непрозрачность снижается на 25%, пока не достигнет 100%. Затем процесс повторяется. Разумеется, можно также менять цвет и другие свойства элементов.

10. Вращение элементов

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

See the Pen Cat rotation CSS by Anna (@annafromduomly) on CodePen.

11. Маска

Если вам случалось заниматься графическим дизайном, вы должны знать, насколько полезными бывают маски. А ведь их можно применять не только в графическом редакторе, но и в CSS. Давайте посмотрим, как сделать маску изображения:

See the Pen Mask by Anna (@annafromduomly) on CodePen.

В этом примере мы создали маску в форме круга с градиентной заливкой. Также можно в качестве маски использовать SVG-графику, для этого нужно указать путь к файлу (URL).

12. Приближение при наведении курсора

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

See the Pen Zoom on hover by Anna (@annafromduomly) on CodePen.

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

Заключение

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here