html - 如何将绝对定位的 div 的宽度设置为其父级的 100%?

标签 html css

给定以下代码

<!DOCTYPE html>
<html>
  <head>
    <title>show stats</title>
    <style>
    span.main {
        position:relative;
        display:inline-block;
    }
    div.stats {
        position:absolute;
        bottom:50px;
        background:black;
        color:white;
        padding:0px 15px 0px 15px;
        font-weight:500;
    }
    </style>
  </head>

  <body>

    <span class="main">
      <img src="http://i.imgur.com/o2udo.jpg" alt="test" title="testpic"/>
      <div class="stats">
        <p>this is a caption</p>
      </div>
    </span>
    <span class="main">
      <img src="http://i.imgur.com/o2udo.jpg" alt="test" title="testpic"/>
      <div class="stats">
        <p>this is a caption</p>
      </div>
    </span>
    <span class="main">
      <img src="http://i.imgur.com/o2udo.jpg" alt="test" title="testpic"/>
      <div class="stats">
        <p>this is a caption</p>
      </div>
    </span>

  </body>

</html>

我想让 div.stats 成为包含 span.main 的宽度。将宽度设置为 100% 不起作用,因为生成的宽度超过了容器的宽度,超出了填充量 (30px)。

我可以通过将 div.stats 的填充设置为 0 然后填充此 div 内的段落来修复它。这似乎可行,但我怀疑我这样做的方式很愚蠢。有没有更简洁的方法来将此 div 放置在其容器的宽度上,同时保持其垂直位置?

最佳答案

left:0right:0添加到div.stats:

div.stats {
    position:absolute;
    bottom:50px;
    background:black;
    color:white;
    padding:0px 15px 0px 15px;
    font-weight:500;
    left: 0;       /*Add this*/
    right: 0;      /*Add this*/
}

JSFiddle:http://jsfiddle.net/sT9vA/1/

关于html - 如何将绝对定位的 div 的宽度设置为其父级的 100%?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8424755/

相关文章:

html - 移动设备上的 Bootstrap 旋转木马箭头垂直上下移动

javascript - bxSlider 无法正常工作

iphone - 开发 iphone 应用程序 - GUI 是 HTML 吗?

javascript - 压缩 HTML 和 Javascript

jquery - 在 jQuery 前置后悬停不清除 IE 8 和 9 菜单项

html - 转换标题元素的文本

javascript - 在 HTML 中悬停弹出消息

javascript - 如果 div 包含文本则更新另一个 div 内容

html - CSS - 防止表格单元格扩展容器超过最大高度

css - 两个响应式/灵活的 div 并排