TGViewer
Будни разработчика Будни разработчика @htmlshit · 14.4K subscribers
Post #1565 3.53K
#заметка дня

Итак, что же меня восхищает в волшебном значении border-radius равному 9999px?

Всё очень просто и забавно одновременно: border-radius: 9999px построит вам прямоугольник со скруглёнными углами. В случае квадрата это будет, очевидно, круг.

Вот issue из обсуждений спецификации CSS WG: https://www.w3.org/Style/CSS/Tracker/issues/29

Сам автор issue говорит, что без пол-литра картинок там не разобраться. Cut the crap, они пошли по третьему варианту: https://www.w3.org/TR/css-backgrounds-3/#corner-overlap

Там в целом геометрия эллипсов, потому описание формулы такое странное и учитываются все углы, но давайте просто посчитаем, что же получится для значения в 10000px (проще считать) и прямоугольника размером 320x240px, углы начинаем с верхнего левого (Top Left):

TL: 320/20000 vs 240/20000
TR: 320/20000 vs 240/20000
BR: 320/20000 vs 240/20000
BL: 320/20000 vs 240/20000

0.016 vs 0.012 в каждом случае

Итого, 0.012 — минимальное значение коэффициента приведения радиуса.

10000 * 0.012 = 120.

Половина высоты, выходит. Проверяем себя: https://codepen.io/alinaki/pen/jOxRwJJ

Вариант, когда значения радиуса индивидуальны, рассмотрен там же в спецификации.

Во Flutter используется геометрия кривых и понять это пусть всё ещё проще, чем структуру исходного кода Chromium, но всё равно сложно. Тем не менее, имеются упоминания, что радиусы приводятся к минимальному значению размерности.

И да, 9999px это совсем не то же, что 50%, опять же — смотрите спецификацию, там эллипсы. Но в случае квадрата — и там и там будет круг.

#geometry #borderradius #css #flutter
  • 👍 5
  • 🤯 3
More from @htmlshit
  1. Sep 29, 2026#заметка дня Позабытый формат В комментариях к свежему Subversion спор про Git и централиз…
  2. Sep 28, 2026#релиз дня Яндекс выложил в открытый доступ новую базовую модель Alice AI — AliceAI-Founda…
  3. Sep 28, 2026#библиотека дня Poimandres снова на коне: заваншотили (на самом деле нет) математическую б…
  4. Sep 25, 2026#фишка дня Вот такой короткий набор CSS правил позволит текстовому полю расти вместе со вв…
  5. Sep 25, 2026#статья дня Ахмад Шадид придумал, как на CSS определить, что два элемента начинают пересек…
  6. Sep 24, 2026#релиз дня Похоже, следующим коллегой разработчика станет не один ИИ-агент, а целая команд…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →