Jquery.corner () прозрачный фон в IE - PullRequest
1 голос
/ 21 января 2011

Я пытаюсь использовать Jquery.corner() для округления углов моего div.

Однако в IE угловой фон - это цвет div родителя (цвет корпуса: # C70036;).Я использую фоновое изображение, чтобы вы могли видеть, что в желтых полях ( здесь ) не работает должным образом.

После поиска некоторое время я нашел это:

$("myDiv").corner("cc:#fff round 20px");

Но фон не только один цвет, поэтому я не могу использовать "cc: # 000000".Знаете ли вы, как сделать фон угла прозрачным?

1 Ответ

4 голосов
/ 21 января 2011

У вас всегда будет эта проблема, если вы используете эти инструменты jQuery для имитации закругленных углов в IE.Проблема в том, что они работают, рисуя дополнительные элементы в верхней части угла, поэтому фоны всегда являются проблемой (есть и другие проблемы, которые возникают, например, закругленные углы, не имеющие сглаженных краев и т. Д., Но фоныэто, вероятно, наихудшая проблема из всех).

Но есть решение - есть взлом IE, называемый CSS3Pie , который использует другую технику и производит подлинные закругленные углы, которые не имеютэта проблема.

Еще одна хорошая особенность CSS3Pie заключается в том, что он пытается заставить IE использовать стандартный стиль CSS border-radius, что означает, что вы можете писать свои таблицы стилей с использованием современного стандарта, который работает во всех браузерах.

Кроме того, нет необходимости в каком-либо коде Javascript / JQuery на вашей странице (CSS3Pie сам по себе основан на Javascript, но он абстрагирован от вашей страницы, поэтому вам не нужно писать ни одной строки кода).И поскольку это хак, специфичный для IE, он никогда не загружается никаким другим браузером;все остальные браузеры будут использовать стандарт CSS и получать их закругленные углы бесплатно;только IE нужно беспокоиться о запуске дополнительного кода, чтобы заставить его работать.

Наконец, CSS3Pie заставляет IE поддерживать несколько других современных стилей CSS3, таких как тени и градиенты, которые было бы очень сложно достичь в противном случае.

...