强制嵌套div显示在顶部

时间:2013-09-22 23:26:14

标签: javascript html css html5 css3

我有一些类似于以下内容的代码:

HTML

<div id="darkOverlay"></div>
<div id="content">
    <div id="whiteText">I need to be clear bright white!</div>
</div>

当我点击一个按钮时,我给div提供以下属性:

$('#darkOverlay').css('background-color','rgba(50,50,50,0.5)');
$('#darkOverlay').css('z-index','100');
$('#whiteText').css('display','block');
$('#whiteText').css('z-index','500');

所以基本上我将darkOverlay做成了半透明的暗色并将它带到了前面。然后我还会显示白色文字并将其带到(甚至更多)前面。

然而,似乎darkOverlay仍然在我的白色文本之上施加了它的半透明效果。这会导致白色文本不像我需要的那样显示为白色。我该怎么做才能确保我的白色文字脱颖而出?

CSS [在页面加载时]

#darkOverlay {
    position: absolute;
    top: 0px;
    height:100%;
    width:100%;
    z-index:-100;
}

#whiteText {
    display: none;
    position: absolute;
}

1 个答案:

答案 0 :(得分:0)

如果是问题的白色文字,那是因为没有任何东西可以将颜色设置为白色。

 $('#whiteText').css('color','white');

或完整示例:

<!DOCTYPE HTML>
<html>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js?ver=1.4.4'></script>
<style>
#darkOverlay {
    position: absolute;
    top: 0px;
    height:100%;
    width:100%;
    z-index:-100;
}

#whiteText {
    display: none;
    position: absolute;
}
</style>
<body>

<div id="darkOverlay"></div>
<div id="content">
    <div id="whiteText">I need to be clear bright white!</div>
</div>

<div style="position: relative">
   <button id="clickme">clickme</button>
</div>
</body>
<script>
$("#clickme").click(function(e) {
$('#darkOverlay').css('background-color','rgba(50,50,50,0.5)');
$('#darkOverlay').css('z-index','100');
$('#whiteText').css('color','white');
$('#whiteText').css('display','block');
$('#whiteText').css('z-index','500');
});
</script>
</html>