2012-01-18 2 views
1

コンテンツにパディングを追加しない繰り返しの背景イメージを埋め込む方法はありますか?内容をパディングすることなく、再フォーマットCSSの背景にパディングを追加するにはどうすればいいですか?

フロートを使用して作成された3列のレイアウトと、コンテナが正しい高さであることを確認するためのクリアリング要素があります。ここではそのためのコードは次のとおりです。

HTML

<div id="container"> 
    <div id="col1" class="col">col 1</div> 
    <div id="col2" class="col">col 2</div> 
    <div id="col3" class="col">col 3</div> 
    <div class="clearFix"></div> 
</div> 

CSS

div#container { 
    width:340px; 
    border:1px solid #0f0; 
    margin:30px; 
    background:url(http://i.stack.imgur.com/PEE4K.png) 0 0 repeat-y; 
} 

div.col { 
    float:left; 
    width:100px; 
    height:60px; 
    margin:0px 10px; 
    background-color:#f00; 
} 

div#col1 { 
    margin-left:0; 
} 

div#col3 { 
    margin-right:0;  
} 

div.clearFix { 
    clear:both; 
} 

私の繰り返しの画像で使用する場合:

enter image description here

それは次のようになります。

enter image description here

しかし、パディングが表示されますので、私はこのように、繰り返し画像の開始とポイントを調整したいと思います:

enter image description here

列が拡張時にパディングがあまりにも動くことが重要です:

enter image description here

誰が好ましく、追加のマークアップとデフなしで、どのようにこれを達成するためのアイデアを持っていますinitely JavaScriptなしで?あなたのdiv.col CSSの定義で

http://jsfiddle.net/shanethehat/a2EKM/

答えて

2

変更これは:@BoltClockは述べてあなたが同様に緑色の枠が必要な場合は

div#container { 
    margin:40px 30px; 
} 

div.col { 
    margin:-10px 10px; 
} 

、これは動作しません。境界線を必要としないなら、ie6でもうまくいくはずです。

+0

これは、コンテナを縮小し、列を上下の境界線を超えてプッシュします。コンテナの背景にパディングを追加しません。つまり、コンテナの 'border'スタイルを' outline'スタイルに変更すると、Firefoxやそのような輪郭を描画するブラウザでは、望みの結果が得られます。 – BoltClock

+0

まあ、結果は同じではありませんか?私のために働いた:http://jsfiddle.net/roberkules/a2EKM/3/ – roberkules

+0

いいえ、彼らは全く違って見えます。この例では、緑色の枠線が列の周りを移動しています。あなたのフィドルでは、緑色の境界線は背景を囲んでいるだけで、列によって覆い隠されています。 – BoltClock

関連する問題