Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.12.2010, 18:17
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Opacity в IE8
У меня есть див, внутри которого другой див с фоном из PNG.
Мне нужно сделать всю эту конструкцию полупрозрачной.

В ие8 есть
Код:
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
Однако этот фильтр отрубает прозрачность для png.
Нашел как включить прозрачность для png, однако включается она для картинки, которая стоит в теге <img>, а не в фоне:
document.getElementById("img1").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=fig0902.png,sizingMethod='scale')";


Как быть?
П.С. Вынуть PNG из фона нельзя по условиям задачи =)

Последний раз редактировалось Snipe, 07.12.2010 в 18:19.
Ответить с цитированием
  #2 (permalink)  
Старый 07.12.2010, 23:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,018

Snipe,
А может саму картинку отредактировать?
Ответить с цитированием
  #3 (permalink)  
Старый 08.12.2010, 06:45
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Может так:

<div style="background:  url('http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'); width:  100px; height: 75px;"></div>

<script type="text/javascript">
window.onload = function(){
    (function(i){
        element = document.getElementsByTagName("div")[0];
        if(!element) return;
        var alpha = element.filters['DXImageTransform.Microsoft.alpha'] || element.filters.alpha;
        alpha ? alpha.opacity = i : element.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+i+")";
    })(50);
};
</script>


или так:
<div style="background:  url('http://javascript.ru/forum/images/ca_serenity/misc/logo.gif'); width:  100px; height: 75px;"></div>

<script type="text/javascript">
window.onload = function(){
    (function(i){
        element = document.getElementsByTagName("div")[0];
        if(!element) return;
        var alpha = element.filters['DXImageTransform.Microsoft.alpha'] || element.filters.alpha;
        alpha ? alpha.opacity = i : element.runtimeStyle.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+i+")";
    })(50);
};
</script>

Последний раз редактировалось monolithed, 08.12.2010 в 09:55.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery doctype + ie8 alizid Internet Explorer 5 21.08.2010 13:39
Отличить ie8 от более ранних micscr Internet Explorer 5 16.08.2010 18:05
Как обработать изменение масштаба окна в IE8 ? v_k Events/DOM/Window 1 09.08.2010 13:35
Google Map - opacity в Opera velo Библиотеки/Тулкиты/Фреймворки 0 30.03.2010 05:37
неактивность курсора после hidden bars Элементы интерфейса 6 06.02.2010 11:30