html/css 完整背景覆盖 div 在另一个 div 内

html/css full background overlay div inside another div

我有一个简单的 < div >(没有固定高度),里面有一段文字:

<div id="section">
<div class="container">
<h1>text</h1>
<p>More text</p>
</div>
<!-- <div id="overlay"></div> -->
</div>

CSS 类似于:

#section {
    background: red;
    overflow: hidden;
}

可以添加 div 具有透明图像背景吗?

叠加层应该悬停在主要的红色背景上,但在文本下方。

我认为是这样的,但行不通:

#section #overlay {
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100px; /* ??? */
    background: green;
    opacity: 0.1;
}

尝试下面的示例使用 jquery ui 将减少工作量

    <div id="dialog">Your non-modal dialog</div>
<a href="#" id="open">Open dialog</a>

    $('#open').click(function() {
    $('#dialog').dialog('open');

});



jQuery(document).ready(function() {
    jQuery("#dialog").dialog({
        autoOpen: false,
        modal: true,
        open: function(){
            jQuery('.ui-widget-overlay').bind('click',function(){
                jQuery('#dialog').dialog('close');
            })
        }
    });
}); 

如果我没理解错的话,像这样的事情怎么样:

HTML:

<div id="section">
    <div id="container">
        <h1>My background is transparent!</h1>
        <p>More text</p>
    </div>
</div>

CSS:

#section {
    width: 300px;
    background-color: red;
}

#container {
    position: relative;
    left: 50px;
    width: 200px;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
}

这里的结果:JSFiddle

如果这不是您想要的,您能否更具体地说明定位?

#section {
background: red;
display: block;
position: relative;
overflow: hidden;
}
#container {
position: relative;
width: 100%;
text-align: center;
z-index: 9999;
}
#overlay {
position: absolute;
left: 0;
width: 100%;
height: 100%;
top: 0;
background-color: rgba(0,0,0,0.3);
}