我有以下html:
<div class="container">
<img src="..."/>
<p>Heading</p>
</div>
我想要这种行为:
我可以用javascript轻松完成,但可以用纯CSS吗?
(此codepen部分显示了我正在尝试做的事情:http://codepen.io/anon/pen/sqjnz)
编辑澄清:我希望.container与最高的孩子一样高(img或p)。如果img和p都存在,则文本应该位于图像的顶部并锚定在.contianer的底部,以便随着它的增长它覆盖越来越多的图像。如果没有图像(img标签不存在),该框应该像普通div一样,并扩展到与p相同的大小。
答案 0 :(得分:3)
this你追求的是什么?
<div class="container">
<img src="http://lorempixel.com/100/100"/>
<p>Heading</p>
</div>
和CSS:
.container {
/* these are just set so we can see the size of container */
margin: 20px;
padding: 5px;
background-color: #eee;
}
.container img {
margin-right: -100px;
vertical-align: bottom;
}
.container p {
display: inline-block;
width: 100px;
background-color: rgba(0,0,0,.75);
line-height: 1em;
color: #fff;
vertical-align: bottom;
}
为了适应半透明的IE,我建议你阅读Lea Verou's blog post。