CSS -> IE8, заполняющий фон: ни один ребенок с WHITE - PullRequest
2 голосов
/ 12 января 2012

Добрый день, гуру Stackoverflow,

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

Вот мой CSS

table tr.header{
background: url('image.jpg') 0 0 repeat-x !important;
}

table td{
background: none !important;
color: #FFF !important;
}

td.special{
background:url('image2.png'); 0 0 no-repeat transparent !important;
color: #FFF !important;
}

Причиной для всех импортеров является то, что я пытаюсь переписать системный бог ужасный мягкий CSS; простые цвета, узкие высоты и никакой пиззаз.

Вот мой общий HTML

<table width="100%" cellspacing="0" cellpadding="0" border="0">
   <tbody>
      <tr class="header">
         <td>HEADER TITLE</td>
         <td class="special"></td>
      <tr>
         <td>TABLE CONTENT</td>
      </tr>
   </tbody>
</table>

Я извиняюсь за теги <tbody>, но система автоматически помещает теги <tbody> в каждую таблицу.

Проблема, с которой я сталкиваюсь, заключается только в IE8, у меня есть установленное изображение для класса строки таблицы «Заголовок» и всех данных таблицы, которые должны отображаться как НЕТ фона, но IE8 нравится заполнять ТАБЛИЦУ ДАННЫХ белым. Я могу увидеть фоновое изображение строки таблицы, если зайду в Инструменты разработчика и отключу CSS для данных таблицы, но в любом случае там не должно быть ничего ...

Как заставить данные таблицы (кроме тех, которые помечены как «специальные») быть на 100% прозрачными и прозрачными в IE8?

Ответы [ 3 ]

1 голос
/ 12 января 2012

Как заставить данные таблицы (кроме тех, которые помечены как «специальные») быть на 100% прозрачным и прозрачным в IE8?

Поместите следующий код во внешнюю таблицу стилей с именем ie8.css.

table,
table td {
  background: transparent;
}

table td.special {
  background: url('image2.png'); 0 0 no-repeat transparent;
  color: #FFF;
}

Затем добавьте этот код на свою страницу.

<!--[if IE 8]><link rel="stylesheet" href="ie8.css" /><![endif]-->
1 голос
/ 12 января 2012

background-color:transparent должен работать, но он не копается в элементах, которые находятся под ним. Если элемент под ним имеет цвет, вы увидите этот цвет.

0 голосов
/ 12 апреля 2012

Попробуйте поставить: -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

вверху документа (перед тегом <HTML>). Это исправило эту проблему для меня (и переместило кучу вещей вокруг! Я ненавижу IE8!).

...