такого плана баттоны, но они на сайте могут быть с заливкой и прозрачные, с обводкой и без.
Ничего умнее, чем юзать clip-path я не придумал, но получаю проблемы с прозрачным вариантом и обводка получается кривая.
Какие есть варианты ещё, как реализовать такое?
https://jsbin.com/jesoguqoli
svg например
а если баттоны будут резиновые, а не фикс?
собирать из трех частей?
нет идей ни у кого?
Обрезать за счёт всевдоэлеметов?
не очень понимаю, как именно это реализовать. Может быть есть примеры?
У нас 2 уголка, засчет дополнительных стилей для ::after + ::before вы можете обрезать кнопку и накрыть нужными стилями, поищите по сети как делаються разные фигуры через псевдоэлемнты и станет понятнее
ок, спасибо, буду копать
сейчас подумал, что ведь не получится сделать прозрачность под уголками в таком случае или я ошибаюсь?
Ошибаетесь, вы пожете влиять на стили как самой кнопки так и псевдоэлементов, хотя возможно я не совсем понимаю вашу задачу, по крайней мере вы можете закрасить псевдоэлементы в стиль заднего фона
тогда нужно будет для каждой кнопки закрашивать под свой фон, а если картинка будет на бэкграунде? не самый рабочий вариант
Тогда можете просто заюзать svg как bg image с наложением цвета и ваша проблема будет решена
но мне нужно, чтобы кнопки были резиновые...
В общем, не придумал, как это оформить без костылей и написал скриптец, который генерит SVG-шку ровно под размер элемента и подкладывает в качестве background-image Можно посмотреть код и как работает здесь: https://jsbin.com/tubihabuje/edit?html,css,js Можно юзать, если понравилось :) Если есть замечания или предложения, как сделать лучше/проще, буду рад выслушать
https://blog.avada.io/css/border-examples там нет нужного варианта, но есть похожие.
Через clip-path мало того, что вот такая порнуха получается, так еще и проблемы с прозрачностью. Вообще не вариант.
Обсуждают сегодня