XHTML を使用しているため、マークアップをセマンティックにしたいと考えています。技術的/siteimages/forms/bottom.jpg
に/siteimages/forms/top.jpg
は、人々の写真と比較して、意味のある画像ではありません。これは単なる装飾なので、background
CSS プロパティを使用してスタイルを設定し、<div>
コンテナーに適用して同じ効果を実現してみませんか?
例えば。
.roundedTopBar {
padding-top: 10px;
background: transparent url('/siteimages/forms/top.jpg') 0 0 no-repeat;
}
.roundedBottomBar {
padding-bottom: 10px;
background: transparent url('/siteimages/forms/bottom.jpg') 0 100% no-repeat;
}
<div class="half2 roundedTopBar">
<div class="roundedBottomBar">
<div class="formsContainer">
...
</div>
</div>
</div>
追加:あなたの質問が最初に求めたものをどのように達成するか知りたい場合、解決策はdisplay: inline-block
IE 7がそれを台無しにするため使用しないことです. 親コンテナのフロートを使用float: left; clear: both; display: block;
して、必ずクリアしてください。
例えば。これはあなたのウェブサイトのスニペットです。追加newCSS
した新しいものを名前空間に追加しました。適切と思われるセレクター名を使用できます
CSS:
.newCSS .clearFloat{
overflow: hidden;
width: auto;
}
.newCSS .inlineBlock {
clear: both;
display: block;
float: left;
}
マークアップ:
<div class="half2 clearFloat newCSS">
<img src="http://www.morgana.nl/siteimages/forms/top.jpg" width="441"
height="12" class="block inlineBlock" alt=""/>
<div class="formsContainer block inlineBlock">
<div class="formsInnerContainer" style="height:474px">
form was here
</div>
</div>
<img src="http://www.morgana.nl/siteimages/forms/bottom.jpg" class="block inlineBlock" alt=""/>
</div>
フィドルを参照してください:http://jsfiddle.net/amyamy86/c34ny/
IE7 で表示している場合 (jsFiddle は好きではありません): http://jsfiddle.net/amyamy86/c34ny/embedded/result/