如何制作带有字幕叠加层的液体居中图像?

Eri*_*nge 1 css overlay image caption liquid-layout

我正在尝试使用CSS来显示以字幕覆盖为中心的图像,以及当浏览器窗口太小(缩小到适合)时的液体功能.

我目前的最佳尝试类似于以下HTML(使用Google的徽标作为示例图片)

<div align="center">
   <div class="container">
      <img src="http://www.google.fr/images/logos/ps_logo2.png" class="picture" />
      <h3 class="caption">Image Caption</h3>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用以下CSS

.container {
   position : relative;
   max-width : 364px;
}
.picture {
    border-radius:0.5em;
    box-shadow: 0px 0px 0.5em #000000;
    max-width:364px;
}
.caption {
    position:absolute;
    padding:0.25em;
    top:1em; left:0; right:0;
    color:black;
    background-color:rgba(0,0,0,0.2);
    text-align:center;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果它的行为中心,因为我希望它适用于大型浏览器窗口,它不会缩小小浏览器窗口...而且我不需要IE支持,特定于WebKit(iPhone/Android)就足够了,如果可能的话,我想避免使用JavaScript.

JSFiddle随时可以使用http://jsfiddle.net/kWH3C/1/

Wes*_*rch 5

只需将max-width设置为容器而不是图像,并告诉图像 width:100%

http://jsfiddle.net/Madmartigan/kWH3C/5/

<div class="container">
    <img src="http://www.google.fr/images/logos/ps_logo2.png" class="picture" />
    <h3 class="caption">Image Caption</h3>
</div>
Run Code Online (Sandbox Code Playgroud)
.container {
    position : relative;
    max-width : 364px;
    margin:0 auto;
}
.picture {
    border-radius:0.5em;
    box-shadow: 0px 0px 0.5em #000000;
    width:100%;
}
.caption {
    position:absolute;
    padding:0.25em;
    top:1em; left:0; right:0;
    color:black;
    background-color:rgba(0,0,0,0.2);
    text-align:center;
}
Run Code Online (Sandbox Code Playgroud)

您不需要外部div,并且align="center"在HTML5中已弃用,请使用CSS进行对齐和定位.