Задать вопрос
ddale
@ddale
Front-end developer

Как сделать угол на CSS с прозрачным бэкграундом?

3f422594403b4e479b9ee5006d85445a.png

Допустим есть блок с текстом внутри
<div><p>Я текст</p></div>

Есть ли решение создать такой угол с прозрачным фоном? =)
  • Вопрос задан
  • 2650 просмотров
Подписаться 9 Оценить Комментировать
Решения вопроса 1
Ronnie_Gardocki
@Ronnie_Gardocki
Я у мамы фронтендщик.
1) Самый простой и элегантный - css clip-path: polygon. Сделано за 2 минуты - codepen.io/suez/pen/2a2b9d90bd00d671181906de5311bc8d
Из очевидных минусов - ограниченная поддержка браузерами. Но если вам пофиг на древнее инвалидное говно, то юзайте не раздумывая.
2) Svg clipPath. По сути дела это более геморройная версия первого варианта с некоторыми недостатками (например нельзя юзать %), но зато браузерная поддержка намного шире + можно юзать для каких угодно форм, ибо в основе лежит svg path.
3) Стандартные хаки с помощью :before/:after. Например создаете блок, который сверху имеет прямые углы. Затем :before элемент делаете треугольником слева (ксс трегольники легко гуглятся и даже есть сайт генератор - apps.eky.hk/css-triangle-generator ). А :after блоком справа с закругленным верхним правым углом.
4) Что-нибудь еще.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
qork
@qork
{ background: #F00B42 }
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ответ написан
Комментировать
@volkod
можно заюзать вот такой метод с бекграундом с помощью линейного грайдиента background: linear-gradient(-221deg, transparent 83px, red 0px); ие от 10 версии, этот варик юзать надо ток если фон будет не однородный, а если однородный то через бордеры в псевдоэлиментах afer/before
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы