использовать непрозрачный div только для ie6 - PullRequest
0 голосов
/ 10 мая 2011

У меня есть белый / прозрачный логотип в прозрачном элементе div, который находится сверху изображения. Проблема в том, что в ie6 прозрачная часть логотипа становится белой и выглядит просто как белый квадрат. Есть ли способ превратить div в черный фон, когда используется ie? Я использую MooTools для JavaScript, кстати.

Ответы [ 4 ]

4 голосов
/ 10 мая 2011

Вы можете использовать взломать IE:

<!--[if lt IE 7]>
   <style type='text/css'>

         .some_div {
              background: black;
          }    

   </style>
<![endif]-->

Это повлияет на все IE меньше, чем IE 7

1 голос
/ 10 мая 2011

от шаблона:

<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

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

div.transparent {
    opacity: .6;
}

.ie6 div.transparent {
    filter:alpha(opacity=100);
    background: black;
}

Ваша проблема звучит так, как будто это может быть и проблема альфа-версии PNG, зависит.

http://www.dillerdesign.com/experiment/DD_belatedPNG/ - довольно хорошее исправление, если у вас нет хранилища элементов или событий, связанных с элементом.

1 голос
/ 10 мая 2011

Вот возможное css решение :

div {

background:transparent url(transparent.png);

}

<!--[If IE 6]>

<style type=”text/css”>

#transparent {

background:#fff none;

filter:alpha(opacity=50);

height:1%;

}

#transparent * {

    filter:alpha(opacity=100);

    position:relative;

}

</style>

<![endif]-->

Другим решением было бы прекратить поддержку IE6 (мои предпочтения);)

1 голос
/ 10 мая 2011

Я думаю, что вы можете использовать условную таблицу стилей для ie6 только так:

<!--[if IE 6]>
  <link rel="stylesheet" href="YourStyle.css" type="text/css" media="all"/>
<![endif]-->

тогда файл yorstyle.css будет содержать стиль css только для ie6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...