0

我试过在这里寻找一个类似的问题,但找不到一个,所以它来了:

我有这个html(忽略“+whatever+@”,它在一个代码隐藏文件中,所以我放了一些我从那里得到的变量):

<div id='ReferenceContainer"+UniqueID+@"' style='background-color:"+BackcolourOFF+@"; width:"+CompWidth+@"; height:"+CompHeight+@";'>
    <div id='Reference"+UniqueID+@"' style='width:"+CompWidth+@"; height:"+CompHeight+@"; '>
        <div id='RefTextContainer"+UniqueID+@"' style='float:left; width:"+CompWidth+@"; height:"+CompHeight+@"; ' >
            <div id='RefTitleCon' style='margin-top:"+RefTitleMargin+@"px; color:"+RefTitleColor+@"; z-index:-1;' ><p><b>"+RefTitle+@"</b></p>    </div>  
            <div id='RefTextCon'><p>"+RefText+@"</p></div>
        </div>
        <div id='RefPicContainer"+UniqueID+@"' style='float:right;'>
            <img id='RefImg"+UniqueID+@"first' class='first' name='RefImg"+UniqueID+@"' src=" + StartImg + @" style='position:absolute;' ></img>
            <img id='RefImg"+UniqueID+@"second' class='second' name='RefImg"+UniqueID+@"' src=" + AltImg + @" style='display:none;' ></img>
        </div>
        </div>
    <div id='ScriptContainer"+UniqueID+@"' style='width:"+CompWidth+@"; height:"+CompHeight+@";  position:relative; top:-"+CompHeight+@"px; left:0px;' onMouseOver='ChangeBackcolourON"+UniqueID+@"()' onMouseOut='ChangeBackcolourOFF"+UniqueID+@"()'></div>
</div>

现在在 Firefox 中,一切都很完美。div“ScriptContainer”位于整个事物的前面,当鼠标进入或离开时,功能完全按照它们应该的方式工作。但是 IE8 将文本放在所有内容的前面,然后这些功能就不能像我希望的那样工作。每次鼠标输入文本时都会调用“ChangeBackcolourOFF”,它位于所有内容的前面,每次鼠标从文本中进入“Scriptcontainer”时都会调用“ChangeBackcolourON”。

所以我要么需要弄清楚如何强制将文本放在“Scriptcontainer”或其他一些解决方案后面。

我很感激你的回答

4

1 回答 1

0

好的,我实际上是通过反复试验来解决这个问题的。所以我想我会分享。

显然,如果“Scriptcontainer”没有背景色,则 IE 将文本放在前面,但如果“Scriptcontainer”有背景色,则将文本放在后面。

所以我给“Scriptcontainer”一个背景颜色,并用 filter:alpha(opacity = 0); 不透明度:0;像这样:

<div id='ScriptContainer"+UniqueID+@"' style='width:"+CompWidth+@"; height:"+CompHeight+@"; position:relative; background-color:#ffffff; filter:alpha(opacity = 0); opacity: 0;' onMouseOver='ChangeBackcolourON"+UniqueID+@"()' onMouseOut='ChangeBackcolourOFF"+UniqueID+@"()'>

我不确定是否有其他可能更好的解决方案来解决这个问题,但它似乎对我有用。

于 2010-06-10T11:40:05.533 回答