2012-12-12 1 views
5

証拠金問題
私は余分な大規模なブロック要素(幅と高さの両方のための2000-4000px)で働いていますし、これらの要素のほとんどは、ウィンドウ/ビューポートをオーバーフロー。それは問題なく、私のアプリケーションの意図した効果です。しかし、すべての辺のマージン、たとえば40ピクセルをマージンに適用すると、マージンは上辺、左辺、下辺にのみ適用されます。右端がスクロールした後、ウィンドウの端と同じ高さになります。私はブロック要素のすべての面に均等に余裕を持っているようにしています。証拠金問題

コード
は下記を参照または減少テストケースのview this jsFiddle

/* CSS */ 

* { 
    margin: 0; 
    padding: 0;  
} 

div { 
    background: #000; 
    height: 3000px; 
    margin: 40px; 
    width: 3000px;  
}​ 

<!-- HTML --> 

<div></div> 
私が試したものを
私は私が最初に働くだろうと想定上記の方法を、試してみましたが、それはしませんでした。私はbody要素に40pxのパディングを適用し、divからマージンを取り除いてみましたが、同じ結果が得られました。同じことが、詰め物が適用された包含要素についても当てはまりました。

ご協力いただければ幸いです。ありがとう!

答えて

4

divをインラインブロック要素にするのはどうですか?

display:inline-blockをdivに追加すると問題が解決するはずです。

更新されたfiddle-DEMOを参照してください。

+0

完璧!私は単純な解決策があることを知っていた。ご協力いただきありがとうございます。 – jackrugile

+1

少しばかげて、この機能を古いバージョンのIEで動作させたい場合は、IE6-7(そしておそらく他の人たち)がブロックレベル要素をインラインにすることを許可していないので、スパン用のdivを変更する必要がありますブロック。 – andyface