Радиус границы Webkit иногда вступает в силу

StackOverflow https://stackoverflow.com/questions/1083755

  •  23-08-2019
  •  | 
  •  

Вопрос

Эта проблема связана со свойством border-radius CSS3 (http://www.css3.info/border-radius-apple-vs-mozilla/)

Пример этой проблемы находится здесь:

http://jamtodaycdn.appspot.com/bin/rounded.html

В этом URL-адресе у меня есть закругленные разделы, которые кажутся закругленными в FF3, но в Safari и Chrome закругленных углов там нет.

Стиль выглядит следующим образом:

-moz-border-radius-bottomleft:2px;
-moz-border-radius-bottomright:92px;
-moz-border-radius-topleft:92px;
-moz-border-radius-topright:2px;
-webkit-border-bottom-left-radius: 2px;
-webkit-border-bottom-right-radius: 92px;
-webkit-border-top-left-radius: 92px;
-webkit-border-top-right-radius: 2px;

Я совершенно уверен, что этот CSS отформатирован правильно, поэтому я понятия не имею, в чем проблема.

Это было полезно?

Решение

Проблема, по-видимому, в радиусе 92px.Похоже, что максимальный радиус, который может обрабатывать div высотой 20 пикселей, равен 18 пикселям.Не обязательно очевидно, что означает радиус в 92 пикселя в этом случае.Однако вы можете указать как радиус X, так и Y, используя что-то вроде этого:

-webkit-border-bottom-right-radius: 92px 18px;

(примечание стороны, вы не должны использовать один и тот же идентификатор для нескольких HTML-элементов.Вместо этого вам следует использовать class и настроить свой CSS-селектор так, чтобы он говорил .round вместо #round .)

Другие советы

Для всех, кто обращается к этому за помощью со скругленными углами, я согласен с ответом Джейкоба относительно Webkit, но в вопросе также упоминается, что Chrome не работает.Chrome использует стандартные закругленные углы CSS3, которые точно такие же, как у Webkit, но без предшествующего '-webkit-' в правиле.Они заключаются в следующем:

border-bottom-right-radius:2px;

Чтобы учесть Firefox, Webkit и Chrome, вам нужно было бы сделать что-то вроде этого:

-moz-border-radius-topright:3px;
-moz-border-radius-bottomright:3px;
-webkit-border-top-right-radius:3px;
-webkit-border-bottom-right-radius:3px;
border-top-right-radius:3px;
border-bottom-right-radius:3px;

Третий набор правил - это правила CSS3, которые поддерживаются Chrome.Это хороший способ также получить закругленные углы в IE, используя что-то вроде CSS3Pie: http://css3pie.com/

Разве вам не нужно применить свойство border или border-width, а также различные свойства border-radius?

Кроме того, я заметил, что Safari уменьшает радиус выше определенных значений radius - попробуйте уменьшить значения пикселей и посмотрите, что произойдет.

простой тип, просто используйте:

border-radius:92px 92px 2px 2px;

где:

border-radius:top right bottom left;

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top