Радиальный градиент css: Радиальный градиент | htmlbook.ru
Радиальные градиенты • Про CSS
Радиальные градиенты отрисовываются иначе, чем линейные. Если цвета линейных располагаются перпендикулярно линии, задающей направление, то в радиальных цвета расходятся от заданного центра, а градиент может принимать форму круга или эллипса.
Спецификация: w3.org/TR/css3-images/#radial-gradients.
radial-gradient
Для самого простого градиента достаточно задать только цвета:
background: radial-gradient(gold, orangered);
По умолчанию центр градиента находится по центру, градиент имеет форму эллипса:
Помимо цветов градиенту можно задавать форму, положение и размер. Параметры сочетаются и ведут себя сложнее, чем в линейных градиентах.
Форма градиента
Форма (конечная фигура градиента) может быть кругом и эллипсом. По умолчанию — эллипс, градиент стремится занять всё свободное пространство элемента, вытягиваясь, если это необходимо.
Чтобы градиент имел форму круга — это нужно задать явно с помощью ключевого слова circle
Если форма не задана, но задан размер — одно значение задает радиус круга, если значений два — градиент получает форму эллипса. При наличии размеров явное задание формы градиента игнорируется.
Центр градиента
Для задания центра градиента используются те же ключевые слова, что и для линейного градиента, но с приставкой at
: at top
, at right
, at bottom
, at left
и at center
— значение по умолчанию.
Их так же можно сочетать между собой, чтобы расположить градиент на заданной стороне, например: at right top
— в верхнем правом углу.
Ниже можно увидеть как работают разные положения центра:
Код первого квадрата:
background: radial-gradient(at top left, purple, crimson, orangered, gold);
Также можно задавать точное положение градиента, например at 20% 50%
или at 10px 150px
.
Размер градиента
Можно задать размеры конечной фигуры градиента. Для эллиптических градиентов значения можно указывать в процентах, для круглых — нет.
Если задано одно значение — оно считается радиусом круглого градиента. Если задано два значения — первое считается горизонтальным радиусом эллипса, второе — вертикальным.
Ниже примеры круглых и эллиптических градиентов. Форма фигуры определяется заданными размерами:
Также можно использовать ключевые слова:
closest-side
— градиент заканчивается у границы элемента ближайшей к центру градиента. Если это эллипс, градиент касается всех границ элемента.farthest-side
— градиент заканчивается у дальней границы элемента. Если это эллипс, градиент касается всех границ элемента.
closest-corner
— конечная фигура растягивается таким образом, чтобы она проходила через угол элемента, ближайший к центру градиента. Если конечная фигура — эллипс, градиент растягивается на всю фигуру.
При этом параметре градиент заполняет собой всю фигуру, частично выходя за её пределы.
farthest-corner
— аналогично closest-corner
, только конечная фигура проходит через угол, дальний от центра градиента. Значение по умолчанию.
Некоторым градиентам добавлено положение at bottom
, чтобы было лучше видно действие кода:
repeating-radial-gradient
Радиальный градиент также может быть повторяющимся. Примерный код:
background: repeating-radial-gradient(circle,
darkkhaki, darkkhaki .5em,
transparent .5em, transparent 1.5em);
Как и в случае с линейным градиентом, повторяющийся градиент не очень аккуратно отрисовывается.
Upd. от 3.07.20: в данный момент повторяющиеся градиенты корректно отрисоваются в большинстве браузеров.
Сочетая несколько фонов с разными параметрами можно получить удивительные вещи:
Если при создании узоров использовать относительные единицы (em
, %
), а не абсоюлютные (px
), размер получившихся паттернов потом можно будет легко регулировать изменяя только размер шрифта.
Если вы заинтересовались кодом паттернов, я бы советовала попробовать повторить узор не подглядывая в исходники, это полезно : )
Использование CSS-градиентов — CSS | MDN
Для создания клетчатого градиента мы используем несколько полупрозрачных перекрывающих друг друга градиентов. В первом объявлении фона мы внесли в список каждую остановку цвета отдельно. Во втором объявлении свойства background используется синтаксис многопозиционных остановок цвета:
.plaid-gradient { background: repeating-linear-gradient(90deg, transparent, transparent 50px, rgba(255, 127, 0, 0.25) 50px, rgba(255, 127, 0, 0.25) 56px, transparent 56px, transparent 63px, rgba(255, 127, 0, 0.25) 63px, rgba(255, 127, 0, 0.25) 69px, transparent 69px, transparent 116px, rgba(255, 206, 0, 0.25) 116px, rgba(255, 206, 0, 0.25) 166px), repeating-linear-gradient(0deg, transparent, transparent 50px, rgba(255, 127, 0, 0.25) 50px, rgba(255, 127, 0, 0.25) 56px, transparent 56px, transparent 63px, rgba(255, 127, 0, 0.25) 63px, rgba(255, 127, 0, 0.25) 69px, transparent 69px, transparent 116px, rgba(255, 206, 0, 0.25) 116px, rgba(255, 206, 0, 0.25) 166px), repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(143, 77, 63, 0.25) 5px, rgba(143, 77, 63, 0.25) 10px), repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(143, 77, 63, 0.25) 5px, rgba(143, 77, 63, 0.25) 10px); background: repeating-linear-gradient(90deg, transparent 0 50px, rgba(255, 127, 0, 0.25) 50px 56px, transparent 56px 63px, rgba(255, 127, 0, 0.25) 63px 69px, transparent 69px 116px, rgba(255, 206, 0, 0.25) 116px 166px), repeating-linear-gradient(0deg, transparent 0 50px, rgba(255, 127, 0, 0.25) 50px 56px, transparent 56px 63px, rgba(255, 127, 0, 0.25) 63px 69px, transparent 69px 116px, rgba(255, 206, 0, 0.25) 116px 166px), repeating-linear-gradient(-45deg, transparent 0 5px, rgba(143, 77, 63, 0.25) 5px 10px), repeating-linear-gradient(45deg, transparent 0 5px, rgba(143, 77, 63, 0.25) 5px 10px); }
Онлайн генераторы и библиотеки градиентов CSS – Dobrovoimaster
В 2019 году можно смело утверждать, что градиенты окончательно вернулись! Дизайнеры в какой-то мере, но всё же постепенно отошли от идолопоклонничества и снова начали использовать яркие градиенты для своих дизайнов пользовательского интерфейса и это круто. Тем более, сейчас в большинстве случаев для этого нет нужды использовать тяжеловесные фоновые картинки, достаточно нескольких строк кода css. Градиенты используются где угодно, например, в качестве фона различных элементов, кнопок, панелей, при оформлении текста или же при наложении на изображение, создавая при этом красочные эффекты переходов.
По моему скромному мнению, градиенты выглядят намного привлекательнее сплошной заливки одним цветом, главное чтобы всего было в меру. Посмотрите, как Instagram, удачно используют эффекты градиента в своих иконках и логотипах.
Понятно, что для создания градиентов с помощью CSS, необходимо иметь некоторый уровень знаний в теории. Для того чтобы облегчить процесс создания градиентов, в интернетах представлен широкий выбор различных генераторов и библиотек готовых градиентов CSS.
Используя такой инструмент, как генераторы градиентов, вы сможете создавать градиенты, что называется с нуля, визуально наблюдая за своим творением, при этом сам код css, генератор выдаст вам по завершении работы в лучшем виде. Генераторы позволяют задать угол градиента, границы перехода между цветами, а также дают возможность изменять цвета, удалять их и добавлять новые.
Библиотеки градиентов представляют вам на выбор готовые работы и с расширенными возможностями по их настройке всего в пару кликов. Вам остаётся лишь скопировать предварительно сгенерированный код и использовать его в css ваших проектов.
У меня в закладках скопилось немало ссылок на заслуживавшие внимания градиентные генераторы css и коллекции готовых шаблонов, так что решил их объединить в одну небольшую подборку и поделиться с вами.
1. CSS Gradient
CSS Gradient — это бесплатный инструмент для генерации градиента CSS. На этом сайте представлен целый набор инструментов для создания градиентов, с его помощью вы сможете «рисовать» фоновые, радиальные и линейные градиенты, а так же украсить текст градиентной заливкой. Для особо пытливых и интересующихся, имеется целый ряд технических статей и наглядных примеров использования на живых проектах.
2. ColorSpace Gradient
Довольно простой в использовании, отзывчивый генератор градиентов. Вам достаточно выбрать два цвета, направление цветового перехода и этот замечательный инструмент создаст идеальный градиент, а также выдаст соответствующий код CSS.
3. CSS Gradient Generator
Эффективный и гибкий инструмент, с помощью которого вы сможете легко создать код линейного или радиального градиента для CSS, SVG, canvas, PHP и Android. Вы можете сохранять текущие настройки и использовать их позже, нажав на «уникальная ссылка», экспортировать данные в базовый CSS Generator и генератор изображений градиентов.
4. ColorSpark
Генератор случайных цветов и градиентов, листайте для выбора, копируйте код понравившегося варианта, и всё)).
5. Gradient Generator
Этот инструмент, c простым в использовании графическим интерфейсом, генерирует CSS-код градиента. Он поддерживает различные варианты, от простых линейных до сложных радиальных градиентов.
6. Grabient
Grabient — генератор градиентов с готовыми шаблонами и расширенными возможностями по их настройке. Генератор позволяет задать угол градиента, границы перехода между цветами, а также даёт возможность изменять цвета, удалять их и добавлять новые. Всё это в пару кликов и с предпросмотром в режиме реального времени.
7. Gradienty
Отличный генератор градиентов от Tumblr, представляющий из себя обширнейшую библиотеку готовых градиентных шаблонов с возможностью тонкой настройки палитры и направления цветовых переходов.
8. Gradient Hunt
Gradient Hunt — это бесплатная и открытая платформа для вдохновения с тысячами впечатляющих цветовых градиентов ручной работы.
9. uiGradients
uiGradients — это тщательно подобранная коллекция красивых цветовых градиентов для дизайнеров и разработчиков.
10. WebGradients
WebGradients — это бесплатная коллекция из 180 линейных градиентов, которые вы можете использовать в качестве фонового содержимого в любой части вашего сайта. Просто скопируйте кроссбраузерный код CSS3 и используйте его в своих проектах. Доступна PNG-версия каждого градиента, а так же, в качестве бонуса есть пакеты для Sketch & Photoshop.
11. CoolHue 2.0
Вполне себе качественные градиентные образцы для вашего следующего супер удивительного проекта.
12. CSS Gradient Animator
Генератор CSS для создания красивых анимированных градиентов.
13. Ultimate CSS Gradient Generator
Классический генератор градиентов CSS от ColorZilla.
14. Eggradients
Библиотека готовых градиентных шаблонов CSS, в которой представлено более 200 вариантов красочных фоновых градиентов.
15. CSS Gears Gradient Cards
Большая коллекция градиентных карточек в форматах .css
.xd
и .sceth
, с возможностью комбинирования цвета.
16. Serfo CSS Gradients
Набор готовых к использованию фоновых градиентов CSS от сервиса Serfo.
17. CSS Matic
CSS генератор градиентов представленный в обойме инструментов для веб-дизайнеров от CSS Matic.
18. CSS Gradient Generator
Простой генератор для линейных и радиальных градиентов CSS, без особых наворотов, присутствует выбор цвета и направления перехода, чаще всего, этого вполне достаточно.
19. Gradient Background Generator
Генератор кода CSS с настраиваемыми параметрами конфигурации для линейного и радиального градиента, а также фоновых изображений в форматах .png
и .jpg
.
20. Gradients Party
Приличная коллекция градиентов, собранная специально для кнопок в пользовательском интерфейсе, что вовсе не мешает вам использовать её и для других элементов. Гибкие настройки параметров в режиме реального времени.
Это далеко не весь перечень доступных онлайн-генераторов градиентов. Если вам известны другие, заслуживающие внимания ресурсы, пишите о них в комментах и я обязательно расширю эту подборку.
С Уважением, Андрей .
Буду всем признателен, если поддержите проект — добавив блог в исключения AdBlock и поделитесь ссылкой на запись в своих соц-сетях:
Xamarin.Forms Кисти: радиальные градиенты — Xamarin
- Чтение занимает 2 мин
В этой статье
Скачать пример
RadialGradientBrush
Класс является производным от GradientBrush
класса и закрашивает область с радиальным градиентом, который смешивает два или более цвета в окружности. GradientStop
объекты используются для указания цветов в градиенте и их позиций. Дополнительные сведения об GradientStop
объектах см. в разделе Xamarin.Forms кисти: градиенты.
Класс RadialGradientBrush
определяет следующие свойства:
Center
ТипPoint
, представляющий центральную точку окружности для радиального градиента. Значение этого свойства по умолчанию равно (0,5, 0,5).Radius
Типdouble
, который представляет радиус окружности для радиального градиента. Значение этого свойства по умолчанию равно 0,5.
Эти свойства поддерживаются объектами BindableProperty
, то есть эти свойства можно указывать в качестве целевых для привязки и стилизации данных.
RadialGradientBrush
Класс также содержит IsEmpty
метод, который возвращает объект bool
, который представляет, назначена ли кисть какие-либо GradientStop
объекты.
Примечание
Радиальные градиенты также можно создавать с помощью radial-gradient()
функции CSS.
Создание RadialGradientBrush
Позиции градиента кисти радиального градиента располагаются вдоль оси градиента, определенной кругом. Ось градиента расходятся от центра окружности до ее окружности. Расположение и размер окружности можно изменить с помощью Center
свойств кисти и Radius
. Окружность определяет конечную точку градиента. Поэтому ограничитель градиента в 1,0 определяет цвет в окружности. Позиция градиента в 0,0 определяет цвет в центре круга.
Чтобы создать радиальный градиент, создайте RadialGradientBrush
объект и задайте его Center
Свойства и Radius
. Затем добавьте в коллекцию два или более GradientStop
объектов, RadialGradientBrush.GradientStops
которые определяют цвета градиента и их позиции.
В следующем примере XAML показано RadialGradientBrush
, что задается как объект Background
Frame
:
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<!-- Center defaults to (0.5,0.5)
Radius defaults to (0.5) -->
<RadialGradientBrush>
<GradientStop Color="Red"
Offset="0.1" />
<GradientStop Color="DarkBlue"
Offset="1.0" />
</RadialGradientBrush>
</Frame.Background>
</Frame>
В этом примере фон Frame
отрисовывается с помощью RadialGradientBrush
интерполяции от красного к темному синему. Центр радиального градиента располагается в центре Frame
:
В следующем примере XAML центр радиального градиента перемещается в левый верхний угол Frame
:
<!-- Radius defaults to (0.5) -->
<RadialGradientBrush Center="0.0,0.0">
<GradientStop Color="Red"
Offset="0.1" />
<GradientStop Color="DarkBlue"
Offset="1.0" />
</RadialGradientBrush>
В этом примере фон Frame
отрисовывается с помощью RadialGradientBrush
интерполяции от красного к темному синему. Центр радиального градиента располагается в левом верхнем углу Frame
:
В следующем примере XAML центр радиального градиента перемещается в правый нижний угол Frame
:
<!-- Radius defaults to (0.5) -->
<RadialGradientBrush Center="1.0,1.0">
<GradientStop Color="Red"
Offset="0.1" />
<GradientStop Color="DarkBlue"
Offset="1.0" />
</RadialGradientBrush>
В этом примере фон Frame
отрисовывается с помощью RadialGradientBrush
интерполяции от красного к темному синему. Центр радиального градиента располагается в правом нижнем углу Frame
:
Взгляд на CSS3 градиент (линейный и радиальный градиенты) | XoZblog
Здравствуйте, уважаемые читатели XoZbloga! Градиент является прекрасным инструментом манипуляции с цветом в CSS3. Вместо того, чтобы использовать изображение, для создания эффекта градиента на веб-странице, куда выгодней будет воспользоваться CSS3 градиентом и тем самым «облегчить» сайт. Так как пользователю не нужно будет тратить времени и трафика на загрузку фонового изображения. Существует два основных вида градиента: радиальный и линейный. Сегодняшний пост будет именно о них.
Линейный градиент
Как говориться в классификации, градиенты в CSS3 являются изображениями. Для них нет специальных свойств. А для объявления используется свойство фонового изображения.
В общем случае синтаксис градиента (линейного) выглядит так:
1 | div { |
Итак, давайте обо всем по порядку.
Прежде всего, линейный градиент объявлен функцией linear-gradient(). Функция имеет три основных значения. Первое значение определяет исходное положение. В примере указано top т.е. исходное положение сверху. Можно также использовать bottom, left и right;
1 | div { |
Чтобы добиться перехода цвета из одного угла в другой мы можем использовать градус угла, вот пример:
1 | div { |
Если угол будет отрицательным то позиция смениться с нижнего левого угла на верхний левый.
Второе значение функции это начальный цвет и его стоп позиция, которая указана в процентах. Объявление данной позиции не обязательно, браузер по умолчанию присвоит первому цвету значение 0%.
Последним значением является второй цвет и его стоп позиция. По умолчанию принимает значение 100%. Эти крайние значения и они подразумевают, что первый цвет сразу начинает переходить во второй. Однако, если мы установим для первого цвета 50%, то он только с середины доступной высоты начнет переходить во второй. Вот так выглядит код:
1 | div { |
Теперь давайте изменим значение стоп позиций, и на этот раз мы установим 50% для первого и второго цвета:
1 | div { |
Получаем одинаковые по высоте полоски. C четкой границей, перехода цвета не будет. Чтобы лучше понять как это работает поэкспериментируйте со значениями.
Просмотр демо страницы и скачивание исходников не доступно
Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!
Радиальный градиент
Радиальный градиент также как и линейный объявляется функцией, только уже radial-gradient(). Также есть и основные значения: это форма радиального градиента (circle — круг или ellipse — эллипс), начальный и конечный цвет. Синтаксис следующий:
1 | div { |
Если не указывать форму, то по-умолчанию будет установлен эллипс.
Также по-умолчанию установлена центральная позиция градиента, ее можно изменить. Позицию можно задать командами (top, bottom, left, right и center), а также их комбинациями, либо указать в процентах или пикселях.
Комбинации команд:
- По центру вверху — top — 50% 0%;
- В левом верхнем углу — left top — 0% 0%;
- В правом верхнем углу — right top — 100% 0%;
- По центру — center — 50% 50%;
- Слева по центру — left center — 0% 50%;
- Справа по центру — right center — 100% 50%;
- По центру снизу — bottom — 50% 100%;
- В левом нижнем углу — left bottom — 0% 100%;
- В правом нижнем углу — right bottom — 100% 100%.
Вот пример с процентами:
1 | div { |
Первое значение по оси Х второе по У.
Также радиальному градиенту можно задавать размер. Размер указывается через пробел после формы градиента. По-умолчанию применяется farthest-corner (к дальнему углу). Расчет ведется от центральной точки градиента до:
Значение | Описание |
closest-side | Размер градиента рассчитывается из расстояния до любой ближней стороны блока (для circle) или до ближних сторон по X и по У (для ellipse). Примеры чуть ниже. |
farthest-side | Размер также рассчитывается из расстояния, но уже до дальних сторон. |
closest-corner | Теперь в качестве ориентира используются ближние углы. |
farthest-corner | Рассчитывается из расстояния до дальних углов. |
Чтобы, это лучше понять рассмотрим на примере. Градиент эллиптической формы с белым начальным и конечным синим цветом:
1 | div { |
Размер рассчитывается из расстояния до ближних сторон, очевидно что верхняя ближе по оси Y и левая по оси X.
А теперь до дальних сторон:
1 | div { |
Результат, как говорится на лицо. Размер исчисляется из расстояния до дальних сторон.
Просмотр демо страницы и скачивание исходников не доступно
Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!
В радиальном как и в линейном градиенте для цвета могут быть применены стоп позиции. Хочется также заметить, если необходимо достигнуть прозрачности цветов то использовать следует rgba.
1 | div { |
Альфа канал, тот что последний и равен 0.2 указывает на то, что от 100% цвета используется только 20%.
В обоих видах CSS3 градиента можно использовать не два, а несколько цветов.
1 | div { |
Просмотр демо страницы и скачивание исходников не доступно
Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!
Повторяющийся градиент
Для обоих видов можно использовать повторение цветов. То есть, из данных значений образуется цикл. Функции повторяющегося градиента, repeating-linear-gradient() — для линейного и repeating-radial-gradient() — для радиального.
1 | div { |
Просмотр демо страницы и скачивание исходников не доступно
Уважаемый читатель, XoZblog существует и развивается за счёт доходов от ненавязчивой рекламы. Если не затруднит, добавьте этот сайт в исключение AdBlock. Спасибо за понимание!
Кроссбраузерность
К сожалению, на момент написания этой статьи, современные браузеры еще не поддерживают стандартный синтаксис. Они по прежнему нуждаются в префиксах, каждый в своих (-webkit-, -moz-, -ms- и -o-). Поэтому синтаксически правильным является вот такое описание градиента:
1 | div { |
Чтобы упростить задачу с префиксами, можно использовать бесплатную библиотеку Prefix-Free.
Для того чтобы градиент заработал на «9 осле» (Internet Explorer 9), пишем так:
1 | div { |
Но даже здесь есть ограничения, нельзя добавить более 3 цветов и для использования прозрачности нужно немного изменить HEX код цвета:
1 | div { |
Где 33 сразу после решетки это процент насыщенности цвета.
Надеюсь, что статья оказалась для Вас полезной, а рассмотренная тема полностью раскрытой.
Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на страницу ВКонтакте или добавляйте в круги на Google+. Не забывайте оставлять комментарии. Спасибо!
Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на еженедельную почтовую рассылку или на новостную ленту RSS. Спасибо!
html5 — Как анимировать радиальный градиент с помощью CSS?
Решение SVG
Все фильтры, градиенты, маски, клипы пришли в CSS из SVG. Поэтому необходимо добавить решение c SVG градиентами.
Всё в принципе повторю из css решения, те же цвета в stop-color
, те же проценты в stop offset
, но анимация получается более мощной и зрелищной.
Горизонтальное перемещение градиента
Анимация достигается изменением значения параметра fx
радиального градиента, отвечающего за горизонтальную координату центра градиента.
Запуск анимации — клик по прямоугольнику
<div>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 400 100">
<defs>
<radialGradient fx="0%" fy="5%" r="200%"
>
<stop offset="0%" stop-color ="#FFFFFF" />
<stop offset="4%" stop-color ="#ffb3ff" />
<stop offset="12.25%" stop-color ="#ff33ff" />
<stop offset="31.25%" stop-color ="#800080" />
<stop offset="50%" stop-color ="#b300b3" />
</radialGradient>
</defs>
<g >
<rect fill="url(#radGrad)" x="5%" y="5%" rx="10%" />
<text x="50%" y="60%" font-size="28px" text-anchor="middle" font-weight="bold" font-family="sans-serif" fill="#FFDD00" > Sun shine </text>
</g>
<animate xlink:href="#radGrad"
attributeName="fx"
dur="2s"begin="gr1.click"
values="0%;50%;50%;100%;0%"
repeatCount="1"
restart="whenNotActive" />
</svg>
</div>
Атрибут keyTimes
обеспечивает неравномерность движения, количество значений должно равняться количеству значений в атрибуте values
Подробнее здесь.
values="0%;50%;50%;100%;0%"
keyTimes="0;0.1;0.5;0.9;1"
Вертикальная анимация градиента
В этом случае анимируется fy
<div>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 400 100">
<defs>
<radialGradient fx="48%" fy="0%" r="200%"
>
<stop offset="0%" stop-color ="#FFFFFF" />
<stop offset="3%" stop-color ="#ffb3ff" />
<stop offset="12.25%" stop-color ="#ff33ff" />
<stop offset="31.25%" stop-color ="#800080" />
<stop offset="50%" stop-color ="#b300b3" />
</radialGradient>
</defs>
<g >
<rect fill="url(#radGrad)" x="5%" y="5%" rx="10%" />
<text x="50%" y="60%" font-size="28px" text-anchor="middle" font-weight="bold" font-family="sans-serif" fill="#FFDD00" > Sun shine </text>
</g>
<animate xlink:href="#radGrad"
attributeName="fy"
dur="2s"begin="gr1.click"
values="0%;50%;50%;100%;50%;50%;0%"
repeatCount="1"
restart="whenNotActive" />
</svg>
</div>
Анимация по диагонали
Анимируются одновременно оба параметра fx
, fy
<div>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 400 100">
<defs>
<radialGradient fx="0%" fy="0%" r="200%">
<stop offset="0%" stop-color ="#FFFFFF" />
<stop offset="3%" stop-color ="#ffb3ff" />
<stop offset="12.25%" stop-color ="#ff33ff" />
<stop offset="31.25%" stop-color ="#800080" />
<stop offset="50%" stop-color ="#b300b3" />
</radialGradient>
</defs>
<g >
<rect fill="url(#radGrad)" x="5%" y="5%" rx="10%" />
<text x="50%" y="60%" font-size="28px" text-anchor="middle" font-weight="bold" font-family="sans-serif" fill="#FFDD00" > Sun shine </text>
</g>
<animate xlink:href="#radGrad"
attributeName="fy"
dur="2s"begin="gr1.click"
values="0%;50%;50%;100%;50%;50%;0%"
repeatCount="1"
restart="whenNotActive" />
<animate xlink:href="#radGrad"
attributeName="fx"
dur="2s"begin="gr1.click"
values="0%;50%;50%;100%;50%;50%;0%"
repeatCount="1"
restart="whenNotActive" />
</svg>
</div>
Анимация по наведению курсора
Условие запуска анимации: begin="rect1.mouseover"
<style>
</style>
<div>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 400 100">
<defs>
<radialGradient fx="0%" fy="5%" r="200%"
>
<stop offset="0%" stop-color ="#FFFFFF" />
<stop offset="4%" stop-color ="#ffb3ff" />
<stop offset="12.25%" stop-color ="#ff33ff" />
<stop offset="31.25%" stop-color ="#800080" />
<stop offset="50%" stop-color ="#b300b3" />
</radialGradient>
</defs>
<g >
<rect fill="url(#radGrad)" x="5%" y="5%" rx="10%" />
<text x="50%" y="60%" font-size="28px" text-anchor="middle" font-weight="bold" font-family="sans-serif" fill="#FFDD00" > Sun shine </text>
</g>
<animate xlink:href="#radGrad"
attributeName="fx"
dur="1s"
begin="rect1.mouseover"
values="0%;100%;0%"
repeatCount="1"
fill="freeze"
/>
</svg>
</div>
CSS3 повторение градиента
Существует много CSS3 функций, которые значительно изменяют дизайн сайта, и делается это в несколько строк. Одна из таких функций — это CSS3 градиенты. Кто проходил тест на эту тему у меня на сайте, тогда знает что там был такой вопрос. И некоторые ответили на него неверно. До появления CSS3 чтобы сделать фон с помощью градиента, необходимо было использовать изображения, но сегодня мы можем обойтись и без них, а лишь используя некоторые нововведения CSS3.
Тест о котором я упоминал в описании находится здесь: Тест CSS3. Стандарт оформления HTML документов
Реальный пример работы вы можете увидеть и скачать ниже:
Посмотреть примерСкачать
Как использовать?(простое повторение градиента)
Синтаксис очень похож на определение простого линейного или радиального градиента, но при этом еще используется еще одно слово-приставка в начале и указываются цвета и направление повторения. Чтобы повторять линейный градиент нужно использовать свойство repeating-linear-gradient, а чтобы повторять радиальный нужно использовать функцию repeating-radial-gradient:
1 2 3 4 5 6 7 8 9 | /*Линейный*/ .gradient { background: repeating-linear-gradient(0deg, #f9f9f9, #cccccc 20px); } /*Радиальный*/ .gradient { background: repeating-radial-gradient(50% 50%, circle, #f9f9f9, #cccccc 20px); } |
(Создание шаблона для повторений)
Повтор изображения, например, чаще всего используется при создании фона. Это делается для ускорения загрузки страницы. Для примера мы также напишем небольшой код, который будет имитировать тетрадь в линейку.
HTML часть
Для этого нам нужен лишь один <div> и никаких изображений, только CSS3:
1 2 | <div> </div> |
CSS3 часть
1 2 3 4 5 6 7 8 9 10 | .gradient { width: auto; height: 500px; margin: 0 50px; background: -webkit-repeating-linear-gradient( 0deg, #f9f9f9, #f9f9f9 20px, #cccccc 21px); background: -moz-repeating-linear-gradient( 0deg, #f9f9f9, #f9f9f9 20px, #cccccc 21px); background: -o-repeating-linear-gradient( 0deg, #f9f9f9, #f9f9f9 20px, #cccccc 21px); background: repeating-linear-gradient( 0deg, #f9f9f9, #f9f9f9 20px, #cccccc 21px); background-size: 100% 21px; } |
Последнее свойство означает что градиент будет растягиваться на всю страницу и повторяться через 21 пиксель. Чтобы свойство работало в разных браузерах мы используем специальные префиксы(«-webkit», «-moz», «-o»).
А для создания двух полосок слева мы используем псевдоэлемент :before :
1 2 3 4 5 6 7 8 9 | .gradient:before { content: ""; display: inline-block; height: 500px; width: 4px; border-left: 4px double #FCA1A1; position: relative; left: 30px; } |
Вывод
CSS3 еще больше упрощает жизнь веб-разработчика и дизайнера. Всё меньше и меньше изображений, а значит больше скорость загрузки страницы. Я уверен, осталось недолго ждать когда все браузеры смогут полноценно поддерживать данную технологию.
Успехов!
Источник: http://www.hongkiat.com/blog/css3-repeating-gradients/
Easy Gradient Generator Tool (избегает серых мертвых зон ☠️)
Почему этот генератор градиентов лучше других
Когда вы пытаетесь создать градиенты в широком диапазоне оттенков, вы часто видите серую мертвую зону ☠️ ™ в середине градиента. Почему это стоит смехотворно зловещих смайлов ? Потому что это означает, что ваши градиенты выглядят как , это :
Любители цвета: это небольшое приближение, поскольку мы сжимаем поперечное сечение куба в круг.Проще говоря: чтобы получить градиент, избегающий ужасной серой мертвой зоны ☠️, вы не рисуете прямую линию от A до B, вы рисуете кривую biiiig .
Или, чтобы быть более точным / интересным: мы интерполируем градиент в цветовой системе на основе оттенков, такой как HCL, HSB или HCL (не RGB) 🤓. Это позволяет избежать серой линии, проходящей через центр каждого цветового пространства. Приложения для дизайна, онлайн-инструменты для создания градиентов и даже CSS не работают в этом отношении — поэтому я сделал этот инструмент!
Цветовые градиенты в HCL, HSB и HSL
В настоящее время с помощью этого инструмента вы можете создавать градиенты в 3 различных цветовых системах, которые дают немного разные результаты.Вот худышка:
- HCL (оттенок-цветность-яркость) : выбор этого инструмента по умолчанию, HCL — это удивительная цветовая система , которая не только создает красивые, богатые градиенты в широком диапазоне оттенков, но и делает это с плавным восприятием. способ. Если бы вы просматривали градиент в оттенках серого, вы бы увидели только плавный переход от более светлого к более темному серому, предотвращая ужасные «полосы», которые вы видите в некоторых вручную подобранных градиентах. (Примечание: перцептивно однородная природа HCL также делает его отличным для цветовых палитр визуализации данных)
- HSB (оттенок-насыщенность-яркость) : Хотя восприятие не является однородным, иногда HSB предлагает более интересный (и яркий) вариант градиента между двумя остановками.В частности, если ваш градиент HCL имеет уродливый коричнево-желтый цвет, попробуйте проверить версию HSB. HSB — фантастическая цветовая система для дизайнеров, и я написал подробное руководство по HSB.
- HSL (оттенок-насыщенность-легкость) : HSB и HSL часто очень похожи, особенно в ярких градиентах. Тем не менее, иногда стоит посмотреть и то, и другое. Также обратите внимание на розовую «полосу» в градиенте HSL выше — это, по сути, небольшой всплеск яркости, вызванный артефактами использования неперцептуальной цветовой системы.Используйте HCL, чтобы избежать этого. (Также: меня часто спрашивают о разнице между HSB и HSL)
Экспорт градиента как изображения SVG
Необходимо использовать один из этих градиентов в вашем дизайнерском приложении — например, Figma, Sketch или Adobe XD?
Просто — просто нажмите «Экспорт SVG» и перетащите файл прямо в свое дизайнерское приложение.
Но что, если вы разрабатываете в браузере? Прежде всего, остановись.Используйте приложение для дизайна, глупый. Но если вы настроены по-своему, просто возьмите …
Градиент CSS (для линейных, радиальных и конических градиентов)
Получить градиентный CSS для любого из 3-х типов градиентов очень просто.
Просто нажмите «Копировать CSS» и добавьте код к нужному элементу.
Примечание: если у вас есть другие свойства фона, установленные для рассматриваемого элемента, вы можете изменить свойство с background
на background-image
👍
Подробнее о цвете
Чтобы узнать больше о цветных инструментах и статьях об использовании цвета в дизайне пользовательского интерфейса, посетите:
И, как всегда, присылайте мне отзывы и пожелания по функциям.Я стремлюсь к тому, чтобы это был самый лучший инструмент для создания градиентов в сети — так что же вы хотите увидеть? 😎
Генератор линейных и радиальных градиентов CSS
Все в одном месте
Вы можете использовать этот инструмент для получения линейных и радиальных градиентов для ваших проектов и управления цветами с помощью простой панели управления, которую вы когда-либо видели, поэтому не торопитесь, чтобы применить свои градиенты здесь
Экспорт файлов
, эта функция используется, если вы хотите сохранить градиенты на своем компьютере, и у вас есть много вариантов для экспорта градиентов во множество расширений, чтобы получить окончательную потрясающую творческую работу для использования в любом проекте, над которым вы работаете.
Анализ цвета
Анализцветов — это специализированная вещь в этом инструменте (генератор градиента CSS), потому что функции, созданные для предоставления очень близких цветов и однородности в расположении, не только группа случайных цветов, которые назвали градиент
Регулировка скорости
настройка цвета — важный способ, с помощью которого вы можете вызвать некоторую разницу во всех линейных и радиальных градиентах, и у вас есть много вариантов, которые вы можете выбрать, чтобы выбрать цвет для достижения желаемых целей, и только одним щелчком мыши
Сохранить
, у вас есть место для сохранения градиентов в вашей учетной записи для использования в любое время и редактирования градиента, который вы также хотите, чтобы градиент оставался в безопасном месте без потерь для повторного использования и черпал вдохновение из этого
Управление цветами
цвета являются основной опорой для создания линейного и радиального градиента, поэтому необходимо разместить много пространств для редактирования и управления цветами в максимально возможной степени, а также легко установить нужный цвет, используя различные функции и современную палитру цветов.
Примеры
Примеры, которые мы помещаем на наш веб-сайт, созданный генератором градиентов CSS и созданный для ваших проектов, чтобы дать вам больше вдохновения для быстрого создания ваших градиентов и легкого использования
Контроль
Используемый здесь элемент управления приборной панельюпредназначен для простого получения градиента фона CSS и манипулирования значениями для достижения ваших целей и получения расширенного цветового градиента, который используется в ваших проектах.
Генератор градиентного фона— mdigi.tools
Как работает генератор градиентного фона?
Генератор градиентов способен генерировать изображения с линейным и радиальным градиентом, которые можно использовать в качестве фоновых изображений в вашем дизайне или в качестве обоев. Инструмент также создает код CSS, который можно использовать для создания аналогичного градиента с помощью кода CSS на веб-сайте. Вы можете легко настроить цвета градиента и выбрать направление и положение градиента. Поддерживается загрузка изображения градиента в формате PNG, а также в файлах JPG.
Вы можете создать градиентное изображение любой ширины и высоты. По умолчанию инструмент генерирует изображение размером 3000 пикселей в ширину и 2000 пикселей в высоту. Если вы создаете фоновые изображения, вы также можете воспользоваться нашим генератором сплошных цветных изображений.
Как изменить цвет градиентного изображения?
Используя средства выбора цвета, вы можете изменить цвета градиентного изображения. Вы также можете ввести свой цвет в HEX, RGB, HSL или HSV.
Могу ли я выбрать цвета из уже имеющегося у меня изображения?
Да, вы можете развернуть средство выбора цвета и затем щелкнуть значок пипетки, чтобы выбрать цвета из существующего изображения или экрана.Мы также рекомендуем использовать инструмент извлечения цвета, чтобы выбрать основные цвета из вашего изображения.
Градиент какого размера я могу создать с помощью Gradient Generator?
Можно сгенерировать изображение любой ширины и высоты. По умолчанию наш инструмент генерирует градиентное изображение размером 3000×2000. Вы можете сгенерировать изображение размером 1 x 1 пиксель или максимально увеличить его в соответствии с вашими требованиями.
Какие варианты использования градиентного фона?
Градиентный фон может улучшить эстетику при разработке веб-сайта, макета или изображения в социальных сетях.Использование градиентов в веб-дизайне, а также в графическом дизайне было тенденцией в течение долгого времени и будет продолжаться.
Могу ли я использовать ваше градиентное изображение в качестве обоев на моем устройстве?
Конечно, да! Просто зайдите в тестер разрешения экрана, чтобы узнать ширину и высоту вашего устройства. Затем используйте эти размеры для создания фонового изображения градиента по вашему выбору. Загрузите файл PNG или JPG и установите его в качестве обоев.
Как использовать градиентный фон на веб-сайте?
Чтобы установить градиент в качестве фона на веб-сайте, вы должны использовать код CSS, предоставленный инструментом.
Например, вот пример кода CSS для создания линейного градиента:
background: linear-gradient (315deg, # a7d6c6 0%, # d5a7b7 100%)
А вот образец кода CSS для создания radial gradient:
background: radial-gradient (круг справа вверху, # 216079, # d3fdb0)
Радиальные градиенты в CSS — Учебное пособие [2020]
Вчера мы посмотрели на линейные градиенты CSS. И, как и было обещано, сегодня мы рассмотрим радиальных градиентов .Эти градиенты показаны в круглой перспективе.
Типы градиентов CSS постоянная ссылка
Напоминаем, что есть два типа градиентов, которые мы можем использовать в CSS
. Это следующие типы:
-
Линейный градиент
: От одной стороны к другой -
Радиальный градиент
: Круглый градиент
Лучше всего увидеть их в действии и увидеть, что они могут делать.
Посмотрите, как использовать линейный градиент в CSS
Постоянная ссылка радиального градиента CSS
Как уже упоминалось, радиальный градиент определяется его центром и перемещается оттуда.
В простейшем примере мы можем использовать это так:
.basic-radial {
background-image: radial-gradient (красный, желтый);
}
Это сделает градиент от красного (внутреннего) цвета к желтому (внешнему) цветовому спектру.
Радиальный градиент с постоянной ссылкой нескольких цветов
Подобно линейному градиенту, мы также можем определить несколько цветов для радиального градиента. Давайте посмотрим на пример с 4 цветами:
.multi-radial {
background-image: radial-gradient (красный, желтый, зеленый, синий);
}
Мы также можем определить положение градиента для цветов:
.position-radial {
background-image: radial-gradient (красный 10%, желтый 50%, зеленый 90%);
}
Прозрачные радиальные градиенты постоянная ссылка
Мы даже можем сделать градиент прозрачным , который можно использовать для некоторых интересных эффектов наложения. Чтобы создать прозрачный градиент, мы должны использовать цветовой спектр RGBA:
.transparent-radial {
background-image: radial-gradient (rgba (0, 0, 0, 0), rgba (0, 0, 0, 1));
}
Постоянная ссылка формы радиального градиента
По умолчанию радиальный градиент будет иметь форму эллипса.Мы также можем изменить его на круг. Но есть только эти два варианта.
Формы радиальных градиентов
Пример:
.shape-gradient {
background-image: radial-gradient (круг, красный 10%, желтый 20%);
}
Повторяющаяся постоянная ссылка радиального градиента
И неизвестно по какой причине мы можем повторить градиент также с помощью этого кода:
.repeat-radial {
background-image: repeat-radial-gradient ( красный 10%, желтый 20%);
}
Просмотреть все эти примеры кода по этой постоянной ссылке Codepen
См. «Радиальные градиенты CSS Pen» Криса Бонгерса (@rebelchris) на CodePen.
CSS Градиенты очень хорошо поддерживаются. Просто Opera Mini не работает, и не все браузеры поддерживают полный набор опций.
Спасибо за чтение, давайте подключимся! постоянная ссылка
Спасибо, что прочитали мой блог. Не стесняйтесь подписаться на мою электронную рассылку и подключиться к Facebook или Twitter
Градиентный фон для вашей электронной почты
Зачем использовать сплошной фон, если вы можете добавить блики градиентов в свое электронное письмо в формате HTML.
Чрезвычайно легко реализовать, и я объясню, как это сделать, а также покажу, как сделать так, чтобы он плавно переходил в сплошной фон, если почтовый клиент не поддерживает градиент CSS3.
CSS3 Градиент
С градиентом CSS3 для добавления фона градиента требуется всего лишь строка CSS. Нам больше не нужно создавать градиентные изображения и называть их в CSS как фоновое изображение. На один запрос к серверу меньше. Вы можете создать линейный, а также радиальный градиент с двумя или более цветами.Большинство основных браузеров поддерживают эту спецификацию, и у нас есть префикс производителя для некоторых браузеров.
Как насчет поддержки в почтовых клиентах. Все ли почтовые клиенты поддерживают градиент CSS3? Нет, не все почтовые клиенты поддерживают градиент CSS3, но мы всегда можем вернуть его к сплошному фону. Тот факт, что некоторые почтовые клиенты (в основном более старые версии Outlook) не поддерживают эту спецификацию, не означает, что мы не должны отправлять электронную почту с красивым градиентным фоном пользователям, которые проверяют свою электронную почту в современных клиентах.
Я не собираюсь вдаваться в подробности CSS3 Gradient. В Интернете есть масса ресурсов, на которых вы можете учиться. Если вы используете Google для генератора градиентов CSS, вы найдете несколько веб-сайтов, которые сгенерируют его для вас. Объявление градиента CSS, которое мы будем использовать для нашего шаблона, показано ниже:
Это создаст диагональный (45 градусов) фон с линейным градиентом от цвета # 8e36e0 до цвета цвета # 164b92 .
Использование градиента CSS3 в электронном письме
Вы можете узнать больше о написании градиента CSS, который отвечает вашим требованиям к дизайну, самостоятельно.Теперь посмотрим, как это написано для этого шаблона.
В этом шаблоне мы применяем градиентный фон в ячейке таблицы, которая охватывает весь документ и обертывает основной CTA нашего электронного письма. HTML-код ниже показывает, как именно это сделать.
Давайте посмотрим на ключевые строки кода электронной почты:
- Строка 1
Эта таблица будет основой нашего электронного шаблона. Полная ширина, белый фон, без интервала и заполнения ячеек. - Строка 3
Это ячейка таблицы, в которую мы собираемся добавить наш градиент CSS3 как встроенный стиль.Здесь важно отметить атрибут bgcolor со значением # 164c92 . Также обратите внимание, как это отображается перед встроенным стилем, имеющим стиль градиента. Порядок размещения не имеет значения для почтового клиента, который не поддерживает градиент CSS3, но в других почтовых клиентах, если атрибут bgcolor идет после встроенного стиля, фон градиента будет заменен сплошным цветом, назначенным атрибуту bgcolor .
Вот как мы устанавливаем возврат к сплошному фону для почтовых клиентов, которые не поддерживают градиент CSS3. - Строка 6 — Строка 11
Эта строка предназначена для работы градиентного фона для Outlook с использованием условного CSS, аналогичного тому, который мы используем для таргетинга IE7, IE8 или IE lt 9. Но с помощью электронной почты мы проверяем MSO для таргетинга. версии Outlooks. Обратите внимание на mso-width-percent: 1000 , это сделает прямоугольник на 100% с. fillcolor = ”# 8e36e0 ″ — это начальный цвет, а color2 =” # 164c92 ″ — конечный цвет градиента. - Строка 13 — Строка 19
Это будет таблица, в которой мы будем кодировать CTA. Все, что мы хотим заключить в градиентную ячейку, должно быть здесь. - Строка 30 — Строка 34
Сюда помещаются другие копии электронной почты за пределами градиентной ячейки.
Я не хочу утомлять вас дополнительным чтением. Вы сможете лучше понять, как только загрузите исходный код (просто нажмите кнопку загрузки) и откроете его в текстовом редакторе.
Радиальные градиенты CSS3 — веб-направления
Знакомство с радиальными градиентами CSS3
Недавно мы подробно рассмотрели линейные градиенты в CSS3.Если вы не читали это, вы можете потратить на это несколько минут, поскольку концепции очень похожи, и я не трачу столько времени в этой статье на основы градиентов, которые я уже рассмотрел. там.
На этот раз мы подробно рассмотрим радиальные градиенты. Если у вас есть хорошее представление о том, как работают линейные градиенты, радиальные градиенты не должны представлять большой трудности. И я снова представлю обновленный инструмент для создания радиальных градиентов, который поддерживает текущий синтаксис и работает во всех современных браузерах, которые поддерживают радиальные градиенты (подробнее о них чуть позже).
Краткая история
Как и линейные градиенты, радиальные градиенты были впервые представлены в Webkit в 2008 году. Как и линейные градиенты, они все еще находятся в черновом варианте спецификации CSS3 и действительно все еще находятся в некотором состоянии изменения, так что это более чем возможно, окончательная указанная версия будет отличаться от описанного здесь. Как и в случае с линейными градиентами, радиальные градиенты, первоначально предложенные командой Apple Webkit, имели другой синтаксис и существенно отличались концептуальной основой от того, как они определены в настоящее время, и от того, как они поддерживаются в текущих браузерах.В Safari 5.1 все современные браузеры унифицировали один и тот же синтаксис и концептуальную основу для радиальных градиентов, что мы и рассматриваем здесь. Safari 4 и Chrome 10 и более поздние версии поддерживают совершенно другой синтаксис и модель радиальных градиентов, которые фактически устарели и которые мы здесь не будем рассматривать.
Что именно
означает радиальный градиент?Я долго и упорно думал, стоит ли пытаться объяснить, что на самом деле происходит с радиальным градиентом (и для большинства людей просто поиграться с ними, вероятно, лучший способ по-настоящему с ними разобраться).Но, поскольку я еще не видел очень хорошего описания того, как именно работают радиальные градиенты, вот моя попытка.
Надеюсь, вы помните, что линейные градиенты имеют прямую градиентную линию от одного края фоновой рамки элемента. Это может быть вертикально сверху вниз или снизу вверх. Это может быть горизонтально слева направо или справа налево. Или это может быть угол слева направо, справа налево, вверх или вниз.
Некоторые общие линии линейного градиента
Затем мы указываем два (или более) цвета для создания градиента вдоль этой линии.Градиент «плавно переходит» от одного цвета к другому по линии градиента. Итак, что именно означает «плавно затухает»? Чтобы получить все технические подробности, модуль CSS3 «Значения изображений и замененное содержимое» говорит: «Между двумя точками цвета цвет линии линейно интерполируется между цветами двух точек цвета, причем интерполяция происходит в предварительно умноженном пространстве RGBA». . Рад, что ты спросил? И если вы действительно хотите испортить линейной интерполяцией, в спецификации есть целый раздел по этому поводу.
Радиальные градиенты также определяют линию градиента, но на этот раз линия идет от центра эллипса наружу в каждом направлении к краю эллипса. Вдоль этой линии цвет также «плавно исчезает» от одной цветовой точки к другой.
Из линейных градиентов мы также знаем, что градиент может иметь промежуточные точки между начальным и конечным цветом. Неудивительно, что радиальные градиенты могут иметь границы цвета, заданные как определенный процент или значение длины вдоль градиента между начальным и конечным цветами.
Но где радиальные градиенты значительно отличаются от линейных, это форма и размер градиента, а также расположение градиента.
По сути, чтобы задать радиальный градиент, мы задаем градиент
- а место
- форма
- размер
- одна или несколько цветовых остановок
Давайте рассмотрим каждый из них, хотя и немного не по порядку, потому что, чтобы понять, как все они работают, нам нужно немного понять, что такое эллипс (обещаю, это не повредит).
Эллипсы
Эллипс, показывающий большой и малый радиусы.
Эллипс — это то, что мы в просторечии называем овалом. Он отличается от круга тем, что его ширина и высота отличаются друг от друга (строго говоря, круг — это разновидность эллипса, ширина и высота которого равны).
Как вы можете видеть здесь, круг — это особый вид эллипса, в котором эти две линии имеют одинаковую длину.
Если вы проведете вертикальную линию через эллипс в его самой высокой точке и горизонтальную линию через него в самом широком месте, то место пересечения этих двух точек будет центром эллипса.Более длинная из этих двух линий называется большой полуосью или большим радиусом, а более короткая — малой полуосью или малым радиусом.
Из всего этого следует выделить ключевые концепции
- Что такое центр эллипса
- Какие радиусы эллипса
Местоположение радиального уклона
Мы задаем положение радиального градиента, указав, где его центр будет по отношению к элементу, для которого он является фоновым изображением (пока мы оставим в стороне случай, когда градиент используется где-то еще).
Мы можем указать местоположение центра эллипса по существу так же, как мы указываем местоположение фонового изображения с помощью CSS-свойства background-position
. Мы указываем горизонтальное положение фона и, необязательно, вертикальное положение, используя ключевые слова (левый, центральный правый или верхний, центральный, нижний), значения длины, процентные значения или некоторую их комбинацию. Например, у нас может быть
- слева внизу
- осталось 100%
- 0% низ
- 0% 100%
Которые все указывают, что центр эллипса градиента должен находиться в левом нижнем углу фона элемента.
Если второе значение опущено, оно рассматривается как center
(аналогично, если мы опускаем и первое значение, центр эллипса градиента находится в центре фона элемента).
Итак, приступим к построению радиального градиента. Как мы видели с линейными градиентами, градиент не является свойством CSS. Скорее, это значение, которое теоретически может использоваться везде, где будет использоваться изображение, но на практике, как правило, только в качестве фонового изображения для элемента.Здесь мы начнем радиальный градиент как фоновое изображение элемента и зададим ему местоположение. Поместим градиент в центр фона элемента.
фоновое изображение: радиальный градиент (50% 50%,
Обратите внимание, как значения центра по горизонтали и вертикали просто разделяются пробелом, а затем за парой следует запятая. Также обратите внимание, что это еще не градиент, а только его начало. Нам все еще нужно указать форму и размер, а также значения цвета.
Формы и размеры радиального градиента
Теперь мы указали расположение центра градиента, нам нужно указать форму и размер эллипса.Их можно указать одним из двух способов: неявно или явно .
Явные формы и размеры
Мы явно указываем форму и размер эллипса для нашего радиального градиента, задав длины большого и малого радиусов, используя длину или процентное значение. (по состоянию на июль 2011 года этот аспект радиальных градиентов не поддерживался ни одним браузером, поэтому мы рассмотрим это только вкратце).
Например, мы можем указать ширину эллипса градиента, равную 50% ширины фонового элемента и 30% высоты элемента со значениями 25% 15%
(обратите внимание, что эти значения определяют радиус , что составляет половину ширины или высоты).Если мы укажем одинаковые значения для ширины и высоты, тогда два радиуса будут одинаковой длины, и поэтому мы получим круговой градиент. Вот как будет выглядеть наш градиент с явно заданными шириной и высотой
background-image: радиальный градиент (50% 50%, 25% 15%,
Обратите внимание, что значения ширины и высоты разделены только пробелом, а затем мы ставим за ними запятую.
Неявные формы и размеры
В качестве альтернативы, вместо того, чтобы указывать явной ширины и высоты , чтобы дать нам размер и форму нашего градиента, мы можем указать размер и форму неявно с ключевыми словами.На практике это единственная из двух форм, которые поддерживаются в современных браузерах, и поэтому вам следует использовать именно ее.
Форма
Эта часть очень проста, мы просто используем одно из двух ключевых слов эллипс
или круг
, чтобы указать форму градиента. Итак, мы создаем эллиптическую форму для нашего градиента, например,
background-image: радиальный градиент (50% 50%, эллипс
Теперь пора задать размер градиента.
Размер
Если мы неявно объявляем размер градиента, мы указываем размер формы градиента, используя одно из нескольких ключевых слов.Каждое из этих ключевых слов определяет алгоритм определения размера градиента. Эти алгоритмы иногда немного отличаются для эллипсов и кругов. Хотя поначалу они могут показаться довольно сложными, они приобретут смысл, если вы поймете ключевой принцип каждого из них. Вот мой способ понять, что происходит с каждым ключевым словом.
Ключевое слово | Для круговых градиентов | Для эллиптических градиентов |
---|---|---|
ближайшая сторона | с | с |
ближайший угол | с ближайшим углом | с ближайшим углом |
дальняя сторона | с | с |
дальний угол | с | с |
Есть два дополнительных ключевых слова: содержит
и охватывает
.Ключевое слово contain
совпадает с close-side
, а ключевое слово cover
совпадает с farthest-corner
.
Здесь мы зададим нашему градиенту размер , ближайший угол
.
background-image: radial-gradient (50% 50%, ближайший угол эллипса,
Как и в случае расположения центра градиента, два значения ключевых слов разделяются пробелом, а затем следуют запятые.
Цвет стопы
Теперь мы установили размер, форму и расположение градиента, нам остается только указать две или более точки цвета.Как и в случае с линейными градиентами, мы указываем цветовую точку с помощью цвета и необязательную позицию остановки, которая представляет собой длину или процентное значение. Самый простой случай — это только значения цвета.
Если точки цвета указаны только со значениями цвета, они равномерно делят размер градиента. Таким образом, если есть 3 точки цвета, каждый цвет покрывает треть формы градиента и плавно переходит в соседние точки цвета.
Рассмотрим пример. Вот простой круговой градиент.Его размер неявно задан таким образом, чтобы он касался ближайшего к центру размера, и имеет три цветовых ограничителя: красный, зеленый и синий.
background-image: radial-gradient (центр, центр, круг с ближайшей стороны, # ff0000, # 00ff00, # 0000ff)
Обратите внимание, что каждая остановка разделена запятой.
А вот как это будет выглядеть в браузере, поддерживающем радиальные градиенты.
Если мы добавим больше остановок, они просто будут равномерно распределены по размеру, как здесь, где у нас есть 6 цветовых точек, равномерно распределенных по размеру градиента.
background-image: radial-gradient (центр, центр, ближайшая сторона круга, # ff0000, # ff9f40, # fff81f, # 050a99, # 0b990f, # 911c99, # d24fe0)
Цветовые остановки, как мы уже упоминали, могут дополнительно указывать длину или процентное значение. Итак, мы можем сделать цветные остановки на определенном расстоянии друг от друга, например:
background-image: radial-gradient (center center, окружность ближайшая сторона, # ff0000 25%, # 19ff30 90%, # 2f3ced 100%)
Обратите внимание, цвет и положение каждой остановки разделены пробелом, и снова каждая остановка разделяется запятой.
Также можно использовать значения длины, такие как пикселей
и em
вместо процентов, и смешивать все три формы цветовой остановки (только цвет, проценты и длина). Имейте в виду, что процентные градиенты будут адаптироваться к размеру элемента, поэтому, когда он увеличивается или уменьшается в размере, градиент остается пропорциональным размеру элемента, и поэтому во многих случаях процентный градиент останавливается (или указывается только простой цвет. по цвету), вероятно, будет наиболее гибким выбором.
Раскраска внутри и снаружи градиента
Вы могли заметить, что в наших примерах за пределами формы градиента находится сплошной цвет фона, цвет которого соответствует последней указанной границе цвета. Как только градиент завершится, какой бы ни был цвет отделки, он заполнит оставшуюся часть фона элемента.
В этом последнем примере вы могли также заметить, что то же самое происходит внутри формы градиента. Наша первая остановка цвета — 25%, поэтому от центра градиента до 25% его ширины у нас есть сплошной красный цвет.Красный плавно переходит в следующую цветовую точку, зеленый, только с 25% от центра градиентной формы.
Позиции остановки могут фактически превышать 100% размера градиента, поэтому мы можем заполнить весь элемент градиентом, указав конечную позицию остановки, достаточно большую, чтобы весь элемент был покрыт градиентом.
Повторяющиеся градиенты
Как и в случае с линейными градиентами, радиальные градиенты могут повторяться. Это мы указываем с немного другим именем значения — repeat-radial-gradient
.Если мы возьмем наш предыдущий градиент и повторим его, мы получим
background-image: repeat-radial-gradient (центр, центр, ближайшая сторона круга, # ff0000 25%, # 19ff30 90%, # 2f3ced 100%)
Там, где у нас был бы сплошной цвет за пределами формы градиента, теперь у нас есть повторяющийся градиент. Если уменьшить размер градиента, эффект станет более выраженным. В этом примере мы уменьшаем размер формы градиента, чтобы получить следующий неповторяющийся градиент.
background-image: radial-gradient (центр, центр, ближайшая сторона круга, # ff0000 0%, # 19ff30 29%)
Теперь, если мы повторим градиент, эффект будет намного заметнее.
background-image: repeat-radial-gradient (центр, центр, ближайшая сторона круга, # ff0000 0%, # 19ff30 29%)
Делаем тяжелую работу за вас
Формы, размеры, центры, радиусы, упоры… Если все это кажется сложным для изучения и запоминания, то мы снова здесь, чтобы помочь.Как и в случае с линейными градиентами, мы создали инструмент радиального градиента, который помогает создавать градиенты, не запоминая всю тяжелую работу.
Как и наш инструмент линейного градиента, он не только помогает создавать радиальный градиент, но и имеет некоторые другие функции.
- Ссылку на созданный градиент можно опубликовать в Твиттере, просто нажав кнопку.
- Вы можете скопировать URL-адрес своего градиента и отправить его кому-нибудь по электронной почте, поместить его в ссылку (как я сделал для многих из этих примеров) или иным образом поделиться им.
- С помощью магии HTML5 localStorage он запоминает ваш последний градиент и другие настройки при следующем посещении
- Добавляет префиксы поставщиков для всех современных браузеров (как опция)
- Добавляет начальный цвет в качестве цвета фона для старых браузеров.
- Существует связанный инструмент для создания градиентов Webkit в старом стиле.
- Он предоставляет самую последнюю информацию о совместимости браузера (при условии, что я не забываю обновлять ее по мере изменения браузеров).
- Выглядит очень красиво, конечно, благодаря градиентам CSS
Так что попробуйте и дайте нам знать, что вы думаете.
Совместимость с браузером
Несмотря на то, что радиальные градиенты являются относительно новыми и еще не полностью определенными, их можно безопасно использовать с обратной совместимостью и, на самом деле, они довольно широко поддерживаются (мы вскоре рассмотрим, какие браузеры поддерживают их). .
Для обеспечения совместимости и доступности при использовании радиальных градиентов, как и в случае линейных градиентов, важно, чтобы
- включают префиксы поставщика (-o-, -ms-, -moz, -webkit-), а также стандартную форму значений градиента
- включает цвет фона для браузеров, которые не поддерживают градиенты.Убедитесь, что текст элемента с градиентным фоном имеет достаточный контраст с цветом фона элемента .
Поддержка браузера
Краткий обзор текущей поддержки браузерами радиальных градиентов CSS (на основе информации из фантастической статьи «Когда я могу использовать»).
- Safari 4 представил радиальные градиенты, хотя, как уже отмечалось, с другим синтаксисом, нежели описанный здесь. Префикс поставщика -webkit- требуется для градиентов в Safari 4.1 и новее.
- Safari 5.1 представляет подробно описанный здесь синтаксис, а также продолжает поддерживать синтаксис старого стиля. Опять же, требуется префикс поставщика -webkit-.
- Firefox 3.6 был первым браузером, который поддерживал текущий синтаксис градиента. Префикс -moz- является обязательным, и в настоящее время он поддерживается только в фоновом режиме.
- Chrome 10 и выше (и, вероятно, более ранние версии) поддерживали синтаксис градиентов, подробно описанный здесь. Префикс -webkit- обязателен.
- Opera 11.1 введена поддержка линейного градиента, но в настоящее время не поддерживаются радиальные градиенты любого вида
- Internet Explorer 10 также поддерживает радиальные градиенты CSS с использованием префикса -ms- и также только для фона.
Градиенты могут потребовать значительных вычислительных ресурсов и могут вызвать трудности при работе браузеров на устаревшем оборудовании. В настоящее время они не могут быть анимированы с помощью переходов CSS ни в одном браузере, который поддерживает переходы.
Ссылки, галереи, статьи и др.
Вот несколько мест, где можно узнать больше.
Обертка
Я надеюсь, что эта статья помогла немного глубже понять, что на самом деле происходит с радиальными градиентами, и надеюсь, что инструмент радиального градиента сделает работу с ними приятной. Дайте мне знать, если вы нашли их полезными в твиттере!
кистей Xamarin.Forms: радиальные градиенты — Xamarin
- 2 минуты на чтение
В этой статье
Скачать образец
Класс RadialGradientBrush
является производным от класса GradientBrush
и закрашивает область радиальным градиентом, который смешивает два или более цветов по кругу. GradientStop Объекты
используются для определения цветов градиента и их положения. Дополнительные сведения об объектах GradientStop
см. В разделе Кисти Xamarin.Forms: градиенты.
Класс RadialGradientBrush
определяет следующие свойства:
-
Центр
, типаТочка
, которая представляет собой центральную точку круга для радиального градиента. Значение этого свойства по умолчанию — (0,5,0,5). -
Радиус
, типаdouble
, который представляет радиус круга для радиального градиента.Значение этого свойства по умолчанию — 0,5.
Эти свойства поддерживаются объектами BindableProperty
, что означает, что они могут быть объектами привязок данных и стилизованными.
Класс RadialGradientBrush
также имеет метод IsEmpty
, который возвращает bool
, который указывает, были ли кисти назначены какие-либо объекты GradientStop
.
Примечание
Радиальные градиенты также могут быть созданы с помощью CSS-функции radial-gradient ()
.
Создание RadialGradientBrush
Ограничители градиента кисти радиального градиента располагаются вдоль оси градиента, определяемой кругом. Ось градиента излучается от центра круга к его окружности. Положение и размер круга можно изменить с помощью свойств кисти Center
и Radius
. Круг определяет конечную точку градиента. Следовательно, граница градиента 1.0 определяет цвет на окружности круга. Остановка градиента на 0.0 определяет цвет в центре круга.
Чтобы создать радиальный градиент, создайте объект RadialGradientBrush
и установите его свойства Center
и Radius
. Затем добавьте два или более объекта GradientStop
в коллекцию RadialGradientBrush.GradientStops
, которые определяют цвета градиента и их положение.
В следующем примере XAML показан объект RadialGradientBrush
, который установлен в качестве фона
кадра
:
<Рамка.Справочная информация>
В этом примере фон Frame
окрашен кистью RadialGradientBrush
, которая интерполируется от красного к темно-синему.Центр радиального градиента расположен в центре рамки
:
В следующем примере XAML центр радиального градиента перемещается в верхний левый угол кадра
:
В этом примере фон Frame
окрашен кистью RadialGradientBrush
, которая интерполируется от красного к темно-синему.Центр радиального градиента расположен в верхнем левом углу кадра
:
В следующем примере XAML центр радиального градиента перемещается в нижний правый угол кадра
:
В этом примере фон Frame
окрашен кистью RadialGradientBrush
, которая интерполируется от красного к темно-синему.Центр радиального градиента расположен в правом нижнем углу кадра
: