2011-12-08 10 views
0

は私がdiv.statsに含むspan.mainの幅を作りたい、次のコードどのように絶対配置されたdivの幅を親の100%に設定しますか?

<!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> 

を与えられました。結果の幅がパディングの量(30px)だけコンテナの幅を超えているため、幅を100%に設定すると機能しません。

div.statsのパディングを0に設定し、このdiv内の段落を埋めて修正できます。これはうまくいくようですが、私はそれがやっているやり方がばかだと思っています。垂直方向の位置を維持しながら、このdivをコンテナの幅全体に配置するためのよりクリーンな方法はありますか?

答えて

4

left:0追加しright: 0div.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/

関連する問題