2011-07-27 14 views
6

enter image description hereDIV要素の2つの要素をボトムアラインする方法は?

私は現在、2つのボトムアライメントされたセルがあるテーブルでこれを行っています。私はテーブルソリューションで大丈夫ですが、これが可能であるかどうか疑問に思っています(ちょうどCSSとHTML、JavaScriptはありません)。

要件:
*テキストと画像のサイズは不明ですが、2つの合計幅は含まれている要素の幅を超えません。 (例えば、後で画像やテキストを変更したい場合は、ccsファイルにダイビングしたくない)
*画像は左に揃えられ、テキスト(実際には横のリスト)は右に揃えられます。

編集:コスに応答して、テキストと画像の

  • サイズは動的であり、それは高さまたは幅が、二つの要素の組み合わせ幅ことを超えません収容要素の幅。
  • 画像とテキストのボトムアライメントを合わせる必要があります。
  • この要素は、最も高い要素にしっかりとフィットする必要があります。
+0

- あなたが依存するもの、静的である何、ダイナミック何であるかは言及しなかったが何の上に。イメージと一致するように黒の境界線を垂直に拡大する必要がありますか?それは一定の高さであり、画像を拡大する必要がありますか?あるいは、ボトムアライメント?等。 – Kos

+0

私は、要素のサイズが時間の前に未知であると述べました。しかし、私はそれをより明確にするために編集しました。 –

答えて

11

HTML

<div class="wrapper"> 
    <img src="" class="image" /> 
    <p class="text">Hello world!</p> 
</div> 

CSS

.wrapper { 
    position: relative; 
    width: 500px; 
} 

.image { 
    position: absolute; 
    display: block; 
    left:0; 
    bottom: 0; 
} 

.text { 
    position: absolute; 
    right:0; 
    bottom: 0; 
} 

EDIT:私は、適切なHTMLコードを追加しました。

EDIT 2:ラッパーの高さが未知である場合には(唯一の制限は.imageは.textセクションよりも高くなるように常にならないことである)

CSS

.wrapper { 
    position: relative; 
    width: 500px; 
} 
.image { 
    vertical-align: bottom; 
} 

.text { 
    position: absolute; 
    right: 0; 
    bottom: 0; 
} 

HTML

<div class="wrapper"> 
    <img class="image" src="" /> 
    <p class="text"> 
     Hello world! 
    </p> 
</div> 
+2

これは私がこれを行う方法です。 – Bosworth99

+0

ラッパーの高さはどうですか? – Moak

+0

div.wrapperの高さがわからない限り、ChromeやIE9では動作しません。 –

1
<div style="width:400px; overflow:visible; position:relative;"> 
    <img src="#" alt ="#" style="float:left;"/> 
    <p style="position:absolute; bottom:0; float:right;">Lorem Ipsum</p> 
</div> 
1

これは、私が思うに動作するはずです:

HTMLあなたの説明が十分に明確ではない

<div class="outer"> 
    <img src="" title="" /> 
    <div class="text">Some text </div> 
</div> 

CSS

.outer {display: inline-block; width: 350px; } 
.outer img {float: left;} 
.outer .text {float: right; } 
関連する問題