画像付きの4つのニュース、発行日とタイトルを2列で表示する必要があります。画像の場合は左の列、日付とタイトルの場合は右の列です。
dlを使用してさまざまなアプローチを試し、現在はクラスdlでdivを使用して配置を実現しましたが、FF、IE8、および9でのみ機能しました。
IE7は私が望んでいた配置を適用しません。
テスト用にjsfiddleを配置しました-この問題は、結果ウィンドウが通常よりも広い場合に表示されます。
ニュースを表示するためのより良いHTML構造の提案も受け入れます。
画像付きの4つのニュース、発行日とタイトルを2列で表示する必要があります。画像の場合は左の列、日付とタイトルの場合は右の列です。
dlを使用してさまざまなアプローチを試し、現在はクラスdlでdivを使用して配置を実現しましたが、FF、IE8、および9でのみ機能しました。
IE7は私が望んでいた配置を適用しません。
テスト用にjsfiddleを配置しました-この問題は、結果ウィンドウが通常よりも広い場合に表示されます。
ニュースを表示するためのより良いHTML構造の提案も受け入れます。
<div style="clear:both"></div>
それを各アイテムの間に置くと、IE7で修正されます。または、html5ボイラープレートhttp://html5boilerplate.com/からclearfixを取得します
または、各dt/ddペアをdivでラップすることもできます
これが作業バージョンです更新されたjsfiddleを確認してください
以下のcssとHTML構造の変更点を見つけてください:-
CSS:
#section{
width: 560px;
float: left;
font-size: 0.8em;
position: relative;
}
.dl .dd h4{
font-size: 0.9em;
}
.dl h4 a{
text-decoration: none;
font-weight: normal;
}
.dl h4 a:hover{
text-decoration: underline;
}
.dl .dt{
float: left;
width: 100px;
height: 75px;
font-size: 0.5em;
margin: 0 0 5px 0;
}
.dl .dd{
width: 480px;
float: right;
}
.dl .wrapper { /* new element added */
overflow: hidden;
height: 100%;
padding: 10px 0 5px;
}
.dl .dd p{
font-size: 0.7em;
font-style: italic;
}
/* No need of this code
.dl:after,
.dl .dt:after,
.dd:after,
.dl .dt img:after
{
content:"";
height: 0;
clear: both;
display: block;
}
*/
HTML:
<div class="dl">
<div class="wrapper">
<div class="dt"><img src="/news_pics/16.jpg" alt="pic 1" width="100px" height="75px"/> </div>
<div class="dd"><p>12 06 2012</p><h4><a href="#">News 1 title khfk ds khf kdsfkdsh fkkds hfkhdsjkf kj kjs hdfkjdsk kds k hfkjhds k ks hdfkjhds fjk hdsk hfkjds kgjkl f dflgk dflkdf lk lf jdl glklk dllgdldl l dfljlgkjdflgkjdf</a></h4></div>
</div>
<div class="wrapper">
<div class="dt"><img src="/news_pics/16.jpg" alt="pic 2" width="100px" height="75px"/></div>
<div class="dd"><p>21 05 2012</p><h4><a href="#">News 2 title</a></h4></div>
</div>
<div class="wrapper">
<div class="dt"><img src="/news_pics/16.jpg" alt="pic 3" width="100px" height="75px"/></div>
<div class="dd"><p>19 05 2012</p><h4><a href="#">News 3 title title khfk ds khf kdsfkdsh fkkds hfkhdsjkf kj kjs hdfkjdsk kds k hfkjhds k ks hdfkjhds fjk hdsk hfkjds kgjkl f dflgk dflkdf lk lf jdl glklk dllgdldl l dfljlgkjdflgkjdf</a></h4></div>
</div>
<div class="wrapper">
<div class="dt"><img src="/news_pics/16.jpg" alt="pic 4" width="100px" height="75px"/></div>
<div class="dd"><p>8 05 2012</p><h4><a href="#">News 4 title</a></h4></div>
</div>
編集:
は、IE6および7を含むすべてのブラウザで要素をクリアして適切に表示するの<div class="wrapper"
に役立ちます。float
:before
IE7では動作し:after
ません
IE 7の:afterおよび:beforecss疑似要素ハックを参照してください。
あなたのクイックリファレンスのために、私はこれをフィドルチェックアウトに入れました
そこにある問題は、セクションを配置するwidth 560px;
と、内部のコンテンツが制限を超えて問題が発生することです。<p>
幅が最も広いタグ
変更点:
.dl .dd p{
width: 210px; //changed
font-size: 0.7em;
font-style: italic;
}
メインdivを持つすべてのdd、dtdivsurrondに対して
<div class="fix_float">
<dt>
date content
</dt>
<dd>
text content
</dd>
</div>
enter code here
このhtmlを試してください:
<ul class="ul">
<li class="li">
<img src="/news_pics/16.jpg" class="thumb" width="100" height="75">
<div class="text">
<p class="date">
12 06 2012
</p>
<h4>
<a href="" class="title">
News 1 title khfk ds khf kdsfkdsh fkkds hfkhdsjkf kj kjs hdfkjdsk kds k hfkjhds k ks hdfkjhds fjk hdsk hfkjds kgjkl f dflgk dflkdf lk lf jdl glklk dllgdldl l dfljlgkjdflgkjdf
</a>
</h4>
</div>
</li>
<li class="li">
<img src="/news_pics/16.jpg" class="thumb" width="100" height="75">
<div class="text">
<p class="date">
12 06 2012
</p>
<h4>
<a href="" class="title">
News 1 title khfk ds khf kdsfkdsh fkkds hfkhdsjkf kj kjs hdfkjdsk kds k hfkjhds k ks hdfkjhds fjk hdsk hfkjds kgjkl f dflgk dflkdf lk lf jdl glklk dllgdldl l dfljlgkjdflgkjdf
</a>
</h4>
</div>
</li>
</ul>
およびcss
.ul {
margin: 0;
padding: 0;
list-style: none;
}
.li {
overflow: hidden;
margin-bottom: 5px;
}
.thumb {
float: left;
width: 100px;
height: 75px;
}
.text {
margin-left: 120px;
}
.title {
font-size: 0.9em;
text-decoration: none;
font-weight: normal;
}
.title:hover {
text-decoration: underline;
}
jsfiddlehttp : //jsfiddle.net/sgMKy/で