Как сделать плавный переход цвета в css

CSS градиент или плавный переход цвета на сайте

css градиентВерстая сайт, либо совершенствую и украшая свой текущий, все чаще стали обращаться к такому цветовому приему, как градиент: переход цвета из одного оттенка в другой. Ранее это делалось при помощи статичных картинок.
Теперь же при помощи CSS можно сделать аналогичное, причем "отрабатывающее" во всех браузерах. Можно самому прописывать код градиента, а можно воспользоваться сервисом colorzilla.com, который предоставит сразу готовый код для всех браузеров.

Давайте покажу пару примеров градиента, чтобы вы могли представлять себе о чем идет речь:

Здесь у меня представлено 2 блока, где идет плавный переход цвета. Выбрать цвет и насколько он быстро должен переходить в другой цвет вы можете сами.

Кроссбраузерный CSS градиент от colorzilla.com

Перейдя по ссылке http://www.colorzilla.com/gradient-editor/ вы попадаете на страницу, где:

    слева увидите варианты оформления градиента, с возможностью выбора цвета:

Данный код уже помещаете в нужный class или id в файле стилей шаблона. Так же можете применять градиент и отдельно в каждой статье.

К примеру: вот так выглядит код первого блока в самом начале статьи "Градиент #1":

[infob name="Подсказка"]Подобрав правильно цвета, вы существенно можете украсить свои статьи, придав каждой индивидуальность: будь то полностью фон тела статьи, либо отдельных блоков.[/infob]

Что удобно при использовании подобного кода — он 100% будет кроссбраузерным (отображаться корректно на всех браузерах, за исключением старых версий IE), а так же сильно сэкономит время, т.к. не нужно вручную все прописывать.

Я показал не все возможности, т.к. рядовому блоггеру может никогда не понадобиться другие функции. Если же вы верстальщик, либо хотите им стать, то сможете без проблем разобраться, потратив часок-другой на изучение сайта.
[infob name="Подсказка"]

Чтобы узнать цвет любого элемента на "Рабочем столе" WinDows я пользуюсь "Пипеткой" программы FastStone Capture. У нее так же много возможностей в работе, что облегчает жизнь блоггеру: снять видеоподкаст, расставить стрелки по скриншоту, сделать скриншот (несколько опций), водяной знак и подписи.
Если ничем подобным не пользуетесь, то настало время.[/infob]

Как сделать плавный переход?

Можно ли при помощи CSS сделать такой плавный переход с красного на черный фон?

Можно ли при помощи CSS сделать такой плавный переход с красного на черный фон? Или с помощью чего и как это можно сделать?

На примере border-radius

Можно использовать svg/png картинки как бэкграунд псевдоэлемента, который расположить на месте стыка. Вставлять в HTML не рекомендуется, так как там должны быть "значущие" элементы.

Можно на CSS — используйте псевдоэлементы и border-radius. Пример:

Средствами css такое сделать реально, но неэффективно, легче просто Вставить изображение png/svg изгиба после элементов меню, задать css левой и правой части меню (2 градиента)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками css или задайте свой вопрос.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.3.40888

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Плавный переход в CSS — transition на примерах

Плавный переход в CSS - transition на примерах

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

Добиться эффекта плавного перехода можно с помощью CSS свойства – transition, где
all – эффект замедления применяется ко всем возможным переходам
1s – время выполнения плавного перехода
ease – способ выполнения плавного перехода

transition: all 1s ease;

Анимация кнопки при наведении

Демонстрация работы анимации кнопки, верхий рисунок: демо

Плавный переход в CSS – transition на примерах

Свойство transition следует прописать к элементу, в нашем случае это кнопка button, а не к его состоянию, то есть псевдоэлементу hover. Тогда плавный переход будет работать не только при наведении, но и при снятии курсора с элемента.

<h2>Плавный переход transition CSS. Кнопка</h2>
<div>
<a href="#">Заказать работу</a>
</div>
.button <
background-color: #2bc6a4;
border: none;
border-radius: 15px;
color: #fff;
display: block;
padding: 10px 20px;
text-align: center;
text-transform: uppercase;
width: 20%;
margin: auto;
font-family: sans-serif;
font-size: 22px;
text-decoration: none;
transition: all 1s ease;
>

.button:hover <
background-color: #4feac8;
>

Анимация фона при наведении при участии transition

Демонстрация работы анимации кнопки, нижний рисунок: демо

Плавный переход в CSS – transition на примерах

Создадим круг, при наведении на который будет плавно меняется его цвет. Для этого создадим тег div с классом circle, внутри которого пропишем тег span с текстом.

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

В CSS коде оформим внешний вид первого круга, в обычном состоянии и он будет черного цвета.

.circle <
background: #3d3d3d;
width: 198px;
height: 198px;
margin: 0 auto;
line-height: 200px;
color: #fff;
font-size: 1.8em;
border-radius: 50%;
position: relative;
cursor: pointer;
text-align: center;
>

Для текста ставим z-index: 2, таким образом текст будет на самом верхнем слое.

.circle span <
position: relative;
z-index: 2;
>

Для построения второго, зеленого круга, мы воспользуемся псевдоэлементом after – это то, что идет после блока. Обязательно прописываем пустую строчку content: " "; иначе псевдоэлемент не отобразится. Зададим ширину и высоту точно такую же, как и у первого круга и желаемый цвет при наведении.

Плавный переход в CSS – transition на примерах

Прописываем display: block, чтобы наш псевдо-круг вообще появился. Итак, псевдо-круг расположился ниже под первым кругом. С помощью свойств position, мы совмещаем оба круга, друг под другом, а свойство z-index: 1, слой с псевдо-кругом размещает под текстом.

.circle::after <
content: " ";
width: 202px;
height: 202px;
background: #2bc6a4;
position: absolute;
display: block;
border-radius: 50%;
top: -1px;
left: -1px;
box-shadow: 0 0 0 0 #3d3d3d inset;
transition: width 1s ease-in-out, height 1s ease-in-out, top 1s ease-in-out, left 1s ease-in-out;
>

Теперь необходимо сделать, чтобы при наведении зеленый круг пропадал, а вместо него появлялся черный. Поэтому мы будем делать следующее, при наведении на класс circle, псевдоэлемент after будет постепенно исчезать. Работа transition показана в строчке кода ниже.

transition: width 1s ease-in-out, height 1s ease-in-out, top 1s ease-in-out, left 1s ease-in-out;

и исчезнет совсем

width: 0;
height: 0;
font-size: 0;

исчезает красиво, по-центру

top: 100px;
left: 100px;

box-shadow растушёвывает края зеленого круга

.circle:hover::after <
width: 0;
height: 0;
font-size: 0;
top: 100px;
left: 100px;
box-shadow: 0 0 20px 20px #3d3d3d inset;
>

Итоги

На самом деле свойство transition очень простое, успешность его применения зависит только от ваших знаний CSS в целом.

Вы можете узнать больше, просмотрев этот видеокурс "Вёрстка сайта с нуля"

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 0 ):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *