Калькулятор фолбека для corner-shape

• css

Калькулятор

В дополнение к недавней статье про corner-shape и border-shape захотелось сделать инструмент, который бы решал проблему фолбека corner-shape в border-radius. Ведь если делать это в “лоб”, то визуал будет сильно отличаться.

Zoom: 10.0
border-radius
Opacity:
Radius:
corner-shape
Opacity:
Radius:
superellipse(n):
    
.element {
    border-radius: 10px;
}

@supports (corner-shape: superellipse(2)) {
    .element {
        border-radius: 10px;
        corner-shape: superellipse(2);
    }
}
    

Объяснение

Если хочется использовать corner-shape уже сейчас, то в неподдерживаемых браузерах нужно будет использовать простой border-radius. corner-shape тоже на него опирается, однако форма может сильно отличаться.

Поэтому идея следующая: для браузеров без поддержки corner-shape используем одно значение border-radius, а для браузеров с поддержкой – другое. Значения подбираем так, чтобы они максимально соответствовали друг другу.

Конечно, полностью повторить corner-shape на border-radius нельзя, однако попробовать приблизиться вполне можно.

Обсудить в Telegram

Почитать ещё посты

  • corner-shape и border-shape: что это и в чём разница?
  • Псевдоэлементы теперь настоящие
  • Проблемы, которые Anchor Positioning не должен был решить
  • shape(): фигуры для всех браузеров
  • color-mix() широко доступна