ie cleartype background-color не помогает

Sulik

Новичок
необходимо при нажатии на ссылку сделать полупрозрачным объект DIV
он таковым становится, но при этом шрифты каверкаються и т.п.
в инете инфы по этому поводу полно
везде написано что необходимо в таблицу css объекта добавить background-color: #ЦВЕТ
НЕ ПОМОГАЕТ!
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
ни версии осла, ни тех десяти строк кода, чтобы понять что у тебя не так тут нет. Как разбираться будем?

PS: Ослы вообще очень хреново дружат с прозрачностью.
 

Sulik

Новичок
PHP:
<script language="JavaScript">
<!--

	function setOpacity(id, op) {//задаю прозрачность
		id.style.opacity=op;
		id.style.MozOpacity=op;
		id.style.KhtmlOpacity=op;
		op *= 10;
		id.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+op+")";/* это для осла. после этого происходит чтото с cleartype описано что это баг
 и исправляется он с помошью добавить на обект  background-color но это не помогает. Вообще я когда любой фильтр применяю к объекту внутри него происходит этот глюк*/
	}

	function Show(id, id2) {//показую id при этом делаю прозрачным id2
		setOpacity(id2, 0.3);
		id.style.left = window.event.clientX;
		id.style.top = window.event.clientY;
		id.style.display = 'block';
	}
	function Hide(id, id2) {// ну и прячу соответственно
		setOpacity(id2, 1.0);
		id.style.display = 'none';
	}
//-->
</script>
примерно так
<a onclick="Show(addw, dark)">Добавить окно</a>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Sulik
я дал почву, дальше развиваешь сам, причину того, что у тебя не работает опасити и как именно не работает я не знаю, ибо версию ты так и не написал, хотя я просил. Есть смысл попробовать сделать выставление прозрачности через фреймворк типа jQuery, я правда не уверен в кошерности подхода...
 

Sulik

Новичок
а вот это отсюда http://www.tigir.com/opacity.htm

Прозрачность и зазубренный текст в IE

С выходом Windows XP появилось сглаживание экранных шрифтов методом ClearType, а вместе с ним и побочные эффекты в IE при использовании этого метода сглаживания. Касательно нашего случая, если применяется прозрачность к элементу с текстом при включенном методе сглаживания ClearType, то текст перестает нормально отображаться (полужирный текст - bold, например, двоится, могут так же появляться различные артефакты, например, в виде чёрточек, зазубренного текста). Для того чтобы исправить положение, для IE нужно задать фоновый цвет, CSS свойство background-color, элементу к которому применяется прозрачность. К счастью в IE7 баг устранен.

НЕ помогает :(
 

Semen

Семён
PHP:
<script language="JavaScript">
<!--

	function setOpacity(id, op) {//задаю прозрачность
		id.style.opacity=op;
		id.style.MozOpacity=op;
		id.style.KhtmlOpacity=op;
		op *= 10;
		id.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+op+")";/* это для осла. после этого происходит чтото с cleartype описано что это баг
 и исправляется он с помошью добавить на обект  background-color но это не помогает. Вообще я когда любой фильтр применяю к объекту внутри него происходит этот глюк*/
	}

	function Show(id, id2) {//показую id при этом делаю прозрачным id2
		setOpacity(id2, 0.3);
		id.style.left = window.event.clientX;
		id.style.top = window.event.clientY;
		id.style.display = 'block';
	}
	function Hide(id, id2) {// ну и прячу соответственно
		setOpacity(id2, 1.0);
		id.style.display = 'none';
	}
//-->
</script>
примерно так
<a onclick="Show(addw, dark)">Добавить окно</a>
1. Show("addw", "dark")
2. document.getElementById()
3. ссылка
 

Sulik

Новичок
1. Show("addw", "dark")
2. document.getElementById()
3. ссылка
исправил получил такой код
PHP:
<script language="JavaScript">
<!--

	function setOpacity(id, op) {
		var id = document.getElementById(id);
		id.style.opacity=op;
		id.style.MozOpacity=op;
		id.style.KhtmlOpacity=op;
		op *= 100;
		id.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+op+")";
	}

	function Show(id, id2) {
		var id = document.getElementById(id);
		setOpacity(id2, 0.3);
		id.style.left = window.event.clientX;
		id.style.top = window.event.clientY;
		id.style.display = 'block';
	}
	function Hide(id, id2) {
		var id = document.getElementById(id);
		setOpacity(id2, 1.0);
		id.style.display = 'none';
	}
//-->
</script>
не помогло

версия ИЕ 7.0.5730.13
 

Semen

Семён
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<html>
<head>
	<title>test</title>
<script language="JavaScript">
    function Show(id) {
	var obj = document.getElementById(id);
	obj.style.filter = "alpha(opacity=30)";
    }
</script>
</head>
<body>

<div id="dark" style="width:200px;height:200px;background-color:#ff0000;border:solid 1px;">Test</div>
<a onclick="Show('dark')">Click Me</a>

</body>
</html>
это работает в IE
твоя проблема в том, что ты не понимаешь что делаешь
 

Sulik

Новичок
это работает в IE
твоя проблема в том, что ты не понимаешь что делаешь
согласен но только точно также как и у меня всё становиться кривым.

а это для ИЕ8 progid:DXImageTransform.Microsoft.Alpha(opacity="+op+").
 
Сверху