HTML・CSSでのレイアウトが思ったようにいかず困っています。
画像がなくなった場合はタイトルと文章は画像がない分
横に伸びるようにしたいので
タイトル 画像 文章 それぞれにwidhtを指定せずに
タイトル ■■■■
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄■画像■
ここに文章がはいります。ここ■■■■
に文章が入ります。
としたいのですが
タイトルの下に設定したborder-bottomが伸びず
タイトル ■■■■
 ̄ ̄ ̄ ̄ ■画像■
ここに文章がはいります。ここ■■■■
に文章が入ります。
となってしまいます。
■HTML
<div>
<h2>タイトル</h2>
<span><img alt="画像" src="" ></span>
<p>こここに文章がはいります。ここに文章がはいります。</p>
</div>
■CSS
div{width:600px;}
h2{float:left; border-bottom:1px solid #000;}
span{float:right;}
p{clear:left;}
どなたかおわかりになる方がいらっしゃいましたら、助言いただきたいです。
みんなの回答 4 件
h2にdisplay:block;指定して、h2にwidthで画像までの値入れてやれば良いんだと思うよ。確認してないけど。
あと、pでclearすると画像の下に文章が来るから、出してるように画像で折り返すならその後の要素でclearしないとそのようにはならないかな。
spanもいらない。img要素にfloatかけてやればいいかな。
確認しないで思いつきで言ってるから違ったらごめん。
h2とpをdivで囲って、divにfloat:left;、h2にwidth:100%;を指定
divとimgのwidthを%で指定じゃダメなん?
imgを外すときはdiv {width:100%}も一緒に指定すれば画像外しても伸びるし
htmlの順序がおかしいけど、レガシーブラウザも対応するならこうするしかないんじゃないの
Edit this Fiddle - jsFiddle
http://jsfiddle.net/KyBc3/直接的なアドバイスではないけど、
JavaScript+jQueryを覚えればこのくらいの制御なら簡単にできるようになるよ。
関連するトピックス