Отрицательный треугольник CSS с перевернутым закругленным углом

Здравствуйте, можно ли создать треугольник с перевернутым закругленным углом в центре прямоугольника, как на многих целевых страницах. Что-то вроде изображения ниже:

введите здесь описание изображения

Я нашел здесь нечто похожее, но без перевернутого скругленного угла CSS-наложения изображения перевернутого треугольника


person JoTaRo    schedule 18.04.2016    source источник


Ответы (1)


Да, этого эффекта можно добиться, используя два псевдоэлемента. Нам нужно расположить один из псевдоэлементов относительно левого края контейнера, а другой - по отношению к правому краю контейнера. Затем, добавив к ним transform: skew() в противоположных направлениях и назначив радиус границы требуемым сторонам, мы можем получить требуемый результат.

div {
  position: relative;
  height: 50px;
  width: 100%;
  padding-top: 50px;
  background: blue;
  background-clip: content-box;
  /* make sure blue background doesn't appear behind triangle */
  overflow: hidden;
  color: white;
}
div:before,
div:after {
  position: absolute;
  content: '';
  top: 0;
  width: calc(50% + 10px);
  /* don't change */
  height: 50px;
  /* must be equal to padding-top */
  background: blue;
}
div:before {
  left: 0;
  transform: skew(45deg);
  transform-origin: right bottom;
  border-top-right-radius: 12px;
}
div:after {
  right: 0;
  transform: skew(-45deg);
  transform-origin: left bottom;
  border-top-left-radius: 12px;
}
<div class='shape'>This is a shape.</div>

person Harry    schedule 18.04.2016
comment
вау, спасибо! Можно ли добавить текст в этот div? я пробую здесь jsfiddle.net/nhqKb/284 треугольник отличный, но текст не отображается - person JoTaRo; 18.04.2016
comment
@ Гарри, блин ... молниеносно XD - person Leo the lion; 18.04.2016
comment
извините, я вставил неправильную ссылку, это была еще одна стрелка без закругленного угла, я редактирую ее через 60 секунд, вы были быстрее :) - person JoTaRo; 18.04.2016
comment
Хе-хе-хе, но не так быстро, как Гарри: p - person Leo the lion; 18.04.2016
comment
@JoTaRo: Да, может быть. Пожалуйста, проверьте обновленный ответ. - person Harry; 18.04.2016
comment
Предупреждение: треугольник не реагирует, если вы попытаетесь изменить размер окна, размер треугольника изменится (маленькое окно - большой треугольник, большие окна - очень маленький треугольник) - person JoTaRo; 18.04.2016
comment
@JoTaRo: Вы пробовали проверить обновленный фрагмент? Я уже исправил это. - person Harry; 18.04.2016