DIV中的图像和描述

时间:2012-11-15 14:54:38

标签: css

我正在尝试将图像及其描述放在图像的底部(以及不透明度为0.8的图像上)。这两个元素都在div元素中。但是启用显示标题。

.title {
    opacity:0.8;
    background-color:black;
    color:white;
    height:40px;
    width:100%;
    position:relative;
    bottom:0px;
    z-index:2;
    clear:both;
}

.tilebg {
    position:relative;
    top:0px;
    height:100%;
    z-index:0;
    opacity:1;
}

我做了一个fiddle示例

2 个答案:

答案 0 :(得分:2)

以下是定位的工作原理:

position:relative - 这会将当前元素设置为原点(0,0)

position:absolute - 设置元素相对于其原点的位置。如果父母有position:relative,那么它就会成为原点。否则,它会向上移动HTML树,直到找到一个,如果没有定义,则默认为BODY。

所以:parent = relative,child = absolute

.item {
    opacity:1;
    background-color:grey;
    margin:20px;
    margin-left:20px;
    width:200px;
    height:200px;
    position:relative;
    background-image:url(http://i.imgur.com/vdDQgb.jpg);
}

.title {
    opacity:0.8;
    background-color:black;
    color:white;
    height:40px;
    width:100%;
    position:absolute;
    bottom:0px;
    z-index:2;
    clear:both;
    font-size:12px;
}

答案 1 :(得分:1)

我建议您使用新的figurefigcaption元素,因为它们是为此目的而创建的:

<figure>
    <img src="http://placekitten.com/300/200" />
    <figcaption>This is the caption.</figcaption>
</figure>

使用以下CSS:

figure {
    width: 300px; height: 200px;
    position: relative;  /* Permits placement figcaption absolutely */
}

figcaption {
    position: absolute;
    bottom: 0; left: 0; width: 100%;
    background: rgba(0,0,0,.8); /* Semi-transparent background */
}

演示:http://jsfiddle.net/qu4a3/1/