2012-01-10 6 views
1

固定幅のdiv、Twitterから取得した画像を含む状況、可変幅のユーザーを含むdiv可変長のテキスト。私は何を達成したいことは、次のようなものです:divの2つのdivを固定幅と可変幅/可変幅のいずれかに合わせる

enter image description here

私はbackground-imagepadding-leftを持つ単一のdivで、この十分に行うことができます。しかし、私はborder-radiusをimg要素に適用できるようにしたいと考えていますが、これは単にbackground-imageでは不可能です。

を外側のdivに送信すると、途中で私に届きます。 Here's a DEMOとスクリーンショット:

enter image description here

しかし、これは明らかに私が欲しいもの、完全ではありません。

どうすればこの問題を解決できますか?

答えて

1

を掲載して、あなたは—簡略化jsFiddle example受けるもの:

jsFiddle Screenshot

追加ボーナスとして、テキストも垂直方向にセンタリングされています!

HTML:

<div class="logo"> 
    <div class="logo-container"> 
     <img src="http://img.tweetimag.es/i/appsumo_b.png" /> 
    </div> 

    <div class="logo-name"> 
     AppSumo is a really really long title that continues down the page 
    </div> 
</div> 

CSS:

.logo { 
    background-color: #eee; 
    display: table-cell; 
    height: 100px; 
    position: relative; 
    text-align: center; 
    vertical-align: middle; 
    width: 600px; 
} 

.logo-container { 
    background-color: #fff; 
    border-radius: 10px; 
    left: 10px; 
    position: absolute; 
    top: 10px; 
    width: 75px; 
} 

.logo-name { 
    font: bold 28px/115% Helvetica, Arial, sans-serif; 
    padding-left: 85px; 
} 
+0

これはIE7ではうまくいきません。 IE7はこれ以上サポートされるべきではないと思います。 – mrtsherman

+0

IE7では機能しない唯一の部分は垂直センタリングです。残りの例は完全に動作します(http://i.stack.imgur.com/dzbxu.png)。 – rjb

0

画像コンテナ(またはコンテナなしの画像自体)を左に浮かべて、左のものをすべてクリアしてから、テキストを左に浮かべて、右にあるものをすべてクリアすることができます。

.logo-container{ 
    float:left; 
    clear:left; 
} 
.logo-name{ 
    float:left; 
    clear:right; 
} 

余白を使用してテキストの間隔を調整できます。

.logo-name{ 
    float:left; 
    clear:right; 
    margin-top:10px; 
    margin-left:5px; 
} 
1

このようなものでしょうか?画像過去タイトルテキストをプッシュする左の位置に http://jsfiddle.net/uPPTM/6/

.logo { 
    width:80%; 
    margin:auto; 
    background-color: red; 
} 
.logo-container { 
    border: 1px solid gold; 
    width:73px; 
    height: 73px; 
    display: inline-block; 
    vertical-align:middle; 
} 
.logo-name { 
    display: inline-block; 
} 
+2

正確に正しいが、他の人が見ることのためにあなたのコードを投稿してください。 –

+0

答えにコードを投稿することをお勧めします。あなたのフィドルがなくなると(彼らは結局やります!)この答えはまだ他の人を助けることができます。 – mrtsherman

+0

ああ、そうですね、ごめんなさい。 – jeanreis

0

使用絶対位置。

http://jsfiddle.net/uPPTM/9/

.logo { width: 50px; } 
.title { 
    position: absolute; 
    top: 0; 
    left: 50px; 
    font-size: 32px; 
    text-align: center; 
} 
img { 
    border: 1px solid gray; 
    border-radius: 15px; 
} 

 

<div class="logo"> 
    <div class="logo-container"> 
     <img src="http://img.tweetimag.es/i/appsumo_b.png"> 
    </div> 
    <div class="logo-name">AppSumo</div> 
</div> 
関連する問題