2009-07-11 3 views
3

Я хочу использовать закругленную рамку на своем сайте. Таким образом, я использую CSS закругленные границы собственности, как это:Почему в Google Chrome не работает -moz-border-radius-topright?

-moz-border-radius-topright: 7px; 

Он хорошо работает в Firefox, но в Google Chrome, он не работает. Зачем?

+0

Там нет никакого способа, вы можете сделать это в IE с помощью CSS, вы должны либо использовать изображения или использовать библиотеку как Nifty Corners - http://www.html.it/articoli/nifty/index.html – Kirtan

+0

-webkit для сафари и хром. - вариант http://www.dillerdesign.com/experiment/DD_roundies/ для всех браузеров. – wow

ответ

10

Причина, в том, что является специфической Mozilla (т.е. Firefox) селектор CSS. Соответствующий селектор CSS3 будет:

border-top-right-radius 

Webkit (т.е. Сафари) также имеет нестандартную селектор: -webkit-border-top-right-radius. Поскольку Google Chrome основан на Webkit, я ожидал бы, что -webkit-border-top-right-radius будет работать.

Я лично включил бы все 3 селектора (как показано ниже), тогда вам не придется редактировать когда-нибудь в будущем, когда все догоняют стандарт. (Firefox 3.5 уже существует, насколько я знаю).

.thing{ 
...some styles... 
-moz-border-radius-topright:7px; 
-webkit-border-top-right-radius:7px; 
border-top-right-radius:7px; 
} 
+0

+1: Yup, включая все из них, лучше всего подходит для поддержки как можно большего числа браузеров. – Blixt

14

-moz- ... для Firefox и т.д. Используйте -webkit- ...:

-webkit-border-top-right-radius: 7px; 
-moz-border-radius-topright: 7px; 

отметить также небольшое различие в синтаксисе.

Вы можете комбинировать их по своему усмотрению. -webkit- ... будет признана только WebKit браузеров (Chrome, Safari) -moz- ... будет распознаваться только браузерами Mozilla на основе (Firefox).

+0

Правда, это не стандартное свойство, оно работает на браузерах на основе Mozilla. –

+0

Действительно. Свойства, которые все еще находятся в рабочих черновиках и не согласованы, обычно имеют префикс с уникальным идентификатором браузера. Есть и другие, такие как '-khtml -...' для браузеров на основе KHTML. – Blixt

+1

Я хотел бы добавить к моему предыдущему комментарию, что '-khtml-' ... может работать и в Chrome, так как WebKit - это разветвленная версия KHTML. – Blixt

1

Chrome использует WebKit для рендеринга, так же, как Safari. Вы должны добавить еще один CSS свойство вашего класса -

.YourClass 
{ 
    -moz-border-radius-topright: 7px; /* For Mozilla browsers */ 
    -webkit-border-top-right-radius: 7px; /* For WebKit-based browsers */ 
} 
+0

Я хочу знать для IE. IE - какой тип браузера? Какое свойство использовать – thinzar

+0

@aye thinzar khine: IE использует движок Trident. Но он не поддерживает округленные углы даже в IE7. Однако посмотрите на это: http://dillerdesign.com/experiment/DD_roundies/ – Blixt

Смежные вопросы