Как можно сверстать градиентный бордер на градиентном фоне?

Ссылка скопирована
19 апреля 2026 1 ответ

Нужна вот такая кнопка:

Как можно сверстать градиентный бордер на градиентном фоне?

Кто-то сталкивался с подобным? Градиентный фон + градиентный бордер.
Что пытался юзать: box-shadow, border-image-source. Никак не получается :(
Что предлагает фигма:

border: 1px solid; border-image-source: linear-gradient(167.1deg, rgba(176, 149, 255, 0) 1.06%, rgba(176, 149, 255, 0.92) 92.98%);

border: 1px solid; border-image-source: linear-gradient(167.1deg, rgba(176, 149, 255, 0) 1.06%, rgba(176, 149, 255, 0.92) 92.98%);

Дополнительно:

Всё возможно.
Например, так

snippet

Поддержка в целом неплохая https://caniuse.com/css-masks
Но если надо более надежно, то css-маску можно поменять на svg-маску

  • Спасибо большое, так и знал что решение есть :)
  • не под сафари

    Как можно сверстать градиентный бордер на градиентном фоне?

  • не понимает rem в rx, ry. нужна замена на px или на численное значение

Ответы:

Прозрачность использовать нельзя, подбирайте цвет без использования прозрачности
snippet

  • Спасибо, это мне подходит, но хотелось бы всё-таки понять как можно было бы реализовать с прозрачностью
  • Andrey Vasilev, с прозрачностью вы получите всякого рода нерешаемые эффекты
  • modelair, есть ведь какая-то альтернатива? Не хочется вставлять картинкой обычную кнопку. Ну вот так вот задумано по дизайну. Если ни к чему не приду - постараюсь объяснить заказчику что такое в принципе не реализовать.
  • Andrey Vasilev, я хотел себе такие, перебрал разные варианты. box-shadow, filter с dropshadow, псевдо. оно как бы работает, но с прозрачностью начинаются косяки, решения которым ни своими силами, ни в инете я не нашел. отказался от бордера.
    а без прозрачности варианты отлично смотрятся )
  • возможно вот Ankhena что-то подскажет :)
  • modelair, https://qna.habr.com/q/1156102

Попробуй варианты отсюда

на псведо элементах фоном сделай такой же блок закруглённый с градиентом(как варик)

  • делал, из-за прозрачности обоих - накладываются друг на друга :(
  • Andrey Vasilev, вон там чел выше написал что я хотел сказать)) то что не надо юзать прозрачность, в принципе это как раз что я имел ввиду у него, если можешь отметь мой ответ трушным тоже пажалста)
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Игорь Волков Ответ

Для создания градиентного бордера на градиентном фоне вам понадобится использовать CSS. Давайте рассмотрим пример для создания градиентного бордера вокруг элемента на градиентном фоне:

```html

Gradient Border on Gradient Background

.container {
width: 200px;
height: 200px;
background: linear-gradient(to right, #FFC107, #FF5722);
border: 5px solid;
border-image: linear-gradient(to right, #E91E63, #9C27B0) 1;
}

```

В данном примере мы создали блок с классом "container" и применили к нему градиентный фон с помощью свойства `background`. Затем мы добавили градиентный бордер с помощью свойств `border` и `border-image`.

Свойство `border` задает толщину и тип рамки элемента, а свойство `border-image` позволяет использовать градиент в качестве бордера. Мы указали градиент для бордера с помощью линейного градиента от цвета #E91E63 к #9C27B0.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно