Прозрачность IE6 PNG

Попробуйте обрезать ячейку даты и времени до полуночи этой даты, а затем добавьте 11,5 часов:

=IF(AND(HOUR(A1) >= 23, MINUTE(A1) > 30),
    TRUNC(A1) + TIME(11,30,00), A1)

Я протестировал эту формулу, и она, похоже, работает. Возможно, вам придется поиграться с форматированием ячеек исходных данных. Маска формата 3/14/12 1:30 PM, кажется, здесь хорошо работает.

24
задан Erik Schierboom 2 June 2013 в 18:32
поделиться

10 ответов

Мне нравится это решение JavaScript, записанное David Cilley некоторое время назад. Это уходит с дороги совместимых браузеров и может использоваться с любым бэкендом, который Вы хотите. Это действительно все еще требует пробела gif изображение все же.

Добавьте эти функции к своему Заголовку HTML, или другие существующие .js включают:

<script type="text/javascript">
    function fixPngs(){
    // Loops through all img tags   
        for (i = 0; i < document.images.length; i++){
            var s = document.images[i].src;
            if (s.indexOf('.png') > 0)  // Checks for the .png extension
                fixPng(s, document.images[i]);
        }
    }

    function fixPng(u, o){
        // u = url of the image
        // o = image object 
        o.src = 'images/spacer.gif';  // Need to give it an image so we don't get the red x
        o.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + u + "', sizingMethod='scale')";
    }   
</script>

Поместите следующий условный комментарий внизу (раздел нижнего колонтитула, незадолго до </тело>):

<!--[if lte IE 6]>
    <script language="javascript" type="text/javascript">
        //this is a conditional comment that only IE understands. If a user using IE 6 or lower 
         //views this page, the following code will run. Otherwise, it will appear commented out.
        //it goes after the body tag so it can fire after the page loads.
        fixPngs();
    </script> 
<![endif]-->

Для более комплексного подхода к причудам IE6 попробуйте библиотеку IE7 Javascript.

20
ответ дан 28 November 2019 в 23:04
поделиться

Используйте это: http://www.twinhelix.com/css/iepngfix/

Это также хорошо для IE 5.5, но не для версий Mac IE или более ранней версии IE.

Я использовал его на совсем немногих сайтах и не имел никаких проблем с ним.

Может иногда быть ужасное серое поле вокруг PNG однако, пока сценарий не умирает.

8
ответ дан 28 November 2019 в 23:04
поделиться

Используйте поведение PNG.

ie6.css:

img {
   behavior: url("pngbehavior.htc");
}

page.html:

<!--[if IE 6]> 
  <link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->
8
ответ дан 28 November 2019 в 23:04
поделиться

twinhelix png фиксация должен помочь Вам

2
ответ дан 28 November 2019 в 23:04
поделиться

Например, с ie7.js Dean Edwards

2
ответ дан 28 November 2019 в 23:04
поделиться

Знайте, что преобразование AlphaImageLoader может завести в тупик IE6.

Используйте PNG8s вместо регулярного PNG32s. Вы ограничиваетесь 256 цветами и 1 бит альфа-прозрачности, но это бьет случайным образом заведение в тупик браузера.

2
ответ дан 28 November 2019 в 23:04
поделиться

Вы могли быть храбрыми и просто заявить, что Ваш сайт не может представить хорошо на IE6. Возможно, не наиболее коммерчески настроенный подход, но мы сделали бы всех нас одолжение (даже Microsoft), если мы просто позволяем IE6 умереть. Конечно, так как большой объем действия онлайн происходит на корпоративных машинах с IE6, закрепленным им, который действительно не собирается происходить скоро.:(

2
ответ дан 28 November 2019 в 23:04
поделиться

Я иду за значком Некроманта. :)

Это не совсем исправление, но удобный обходной путь, который я время от времени использую для поддержки прозрачности в IE6 без какого-либо дополнительного кода. Это не всегда соответствует требованиям, но довольно часто это так.

Идея состоит в том, что большую часть времени вам все равно нужно будет отображать PNG на фиксированном цветном фоне. Для файла PNG можно указать цвет фона, и IE6 будет его учитывать. Что вы делаете, так это то, что вы получаете утилиту TweakPNG и открываете свой файл PNG. Там вы сможете добавить чанк bKGD , который определяет желаемый цвет фона. Просто введите цвет, который вам понадобится для отображения PNG, и все готово.

Одно примечание - файлы PNG часто включают некоторые значения для компенсации различных устройств отображения.

3
ответ дан 28 November 2019 в 23:04
поделиться

1.Добавьте условный css для IE6 внутри блока head вашего документа:

<!--[if (IE 6)]>
    <link rel="stylesheet" type="text/css" href="locationOfyourCss/ie6.css"/>
<![endif]-->

2.Назначьте имя класса в вашем элементе:


<td class = yourClassName>

3.В файле ie6.css примените фильтр. Вы должны указать ширину и высоту. Установите фоновое изображение clear.cache.gif, фильтр не работает без этих свойств:


.yourClassName{
    width:8px;
    height:22px;
    background: url("locationOfBlankImage/clear.cache.gif");
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='filePath/imageName.png', sizingMethod='scale');
}
2
ответ дан 28 November 2019 в 23:04
поделиться

Это отличная статья об этой проблеме. Таким образом, он предоставляет библиотеку JS под названием SuperSleight. Я использовал его в прошлом с приличным успехом.

1
ответ дан 28 November 2019 в 23:04
поделиться