IE7 автоматически добавляет прозрачность для встроенного CSS - PullRequest
1 голос
/ 08 июля 2011

У меня есть PNG с прозрачностью. IE7, во всей своей красе, берет мой встроенный CSS и модифицирует его, чтобы включить в него «background-color: transparent». Это проблематично, потому что эта строка CSS испортила цвет таблицы под изображением PNG.

Это то, что я говорю IE, чтобы сделать:

<td style="white-space: no-wrap; margin: 0; padding: 0; background: url('FOO.PNG') left top repeat-y;"> ... </td>

Вот что я получаю, когда использую инструменты разработчика IE (F12):

<td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: url("FOO.PNG"); background-attachment: scroll; background-repeat: repeat-y; background-position-x: left; background-position-y: top; background-color: transparent;"> ... </td>

Как видите, за кулисами происходит какое-то волшебство. Я предполагаю, что IE7 читает файл PNG и определяет, что он имеет прозрачность. Как только он это делает, он специально добавляет встроенный CSS. Виновником является «цвет фона: прозрачность». Если я отключу это в инструментах разработчика, все будет работать нормально.

Кто-нибудь сталкивался с этим?

Ответы [ 2 ]

1 голос
/ 08 июля 2011

странно - попробуйте указать фон старомодным способом (то есть не стенографией)

<td style="padding: 0px;margin: 0px;background-image: url("FOO.PNG");background-repeat: repeat-y; background-position: left top;"> ... </td>

Я бы ожидал, что IE не добавит дополнительные встроенные стили в этом случае (кроме разбиения сокращений marginи padding).

Должен признать, что я удивлен, background-color: transparent вызывает проблему.Также - почему встроенные стили?

0 голосов
/ 08 июля 2011

Это согласно спецификации.

Когда вы используете сокращенное свойство, любые значения, которые вы не указали явно, сбрасываются к значениям по умолчанию.

Если вы хотите получить значение, которое в противном случае было бы применено через каскад, не используйте сокращенную версию свойства (используйте background-image и background-position и и т. д.

...