@Kvazarmw

Как сделать кнопку со с резаными углами?

Подскажите как сделать вот такую кнопку:
42e38fdfdd7e4bf2ab5b115f2420c849.jpg

вот что у меня пока вышло:
.button {
    width: 200px;
    height: 40px;
    text-align: center;
    line-height: 14px !important;
    color: #fff !important;
    font-size: 16px;
    background: linear-gradient(#f35445, #c82c1d);
}
.button:before, .button:after {
    content: "";
    box-sizing: border-box;
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
}
.button:before {
    left: 100%;
    border-left: 20px solid #c82c1d;
    border-bottom: 40px solid transparent;
}
.button:after {
    right: 100%;
    border-right: 20px solid #f35445;
    border-top: 40px solid transparent;
}

9fdfa8b066124241832570235db0060e.jpg
  • Вопрос задан
  • 200 просмотров
Решения вопроса 3
aliencash
@aliencash
Партизан
Ответ написан
Комментировать
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
Иван Карпущенко верно говорит, можно использовать transform:skew, но вот по поводу использования псевдоэлемента для текста - очень спорная мысль, точнее сказать не универсальная. Или придется этот текст передавать через data-атрибут, что будет довольно странным решением. Гораздо практичнее просто в button добавить span с текстом - codepen.
Ответ написан
Комментировать
Можно убрать before и after, а углы сделать с помощью transform: skew(10deg);
Только текст придётся наложить иначе, например, тем же псевдоэлементом
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
MindMinimal
@MindMinimal
Front-end Developer, веб-разработчик
В зависимости от необходимой поддержки, можно использовать свойство clip-path
caniuse clip-path
Clip-path generator
Ответ написан
Комментировать
dom1n1k
@dom1n1k
Автор, послушай старого бухгалтера: это делается двумя элементами before/after + одна картинка фоновая.
Да-да, не skew, не градиент и не clip-path, а старая добрая картинка.
Все перечисленные "модные" способы не дадут тебе каких-то весомых плюсов, в вот минусы - дадут.
Например, в виде необходимости добавлять лишние DOM-узлы, или ограниченной кроссбраузерности...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы