AIRE-PROJECT BLOG

RecentComments

月別アーカイブ

Link

« IE7のズーム機能 | Home | バベル »

2007年04月23日

マージンの相殺

CSS

つい最近のことなのだが、本屋で雑誌を立ち読みしていてある言葉に目が留まった。

「マージンの相殺」

え……?という感じである。
Web標準のコーディングを約1年やってきたけど、そんなルール初めて聞いた。
これって常識?ですか、やっぱり。

要は隣接するボックスの上下マージンが、単純にプラスされず、相殺されて大きいマージンの方が適用されるというルールなんだけど、よくよく思い出してみると、確かに……そんな現象が。
ずっと謎だったんだけど、CSSの仕様だったのね。

確かに、そういう仕様の方が都合がいいといえばその通りですね。
今まで、経験的に上下マージンをつけたボックスを重ねると計算が合わなくなるので、基本的に下マージンを優先的に使うようにしてたけど、ルールさえわかれば応用が利きそうです。

このルールは上下に重ねたボックスのみではなく、内包するボックスに対しても適用されます。
あと、マイナスマージンが設定されている場合も当然計算方法があり、正のマージンと負のマージンが隣り合っている場合は「両方を足し合わせた値」になり、負のマージン同士が隣り合っている場合は「小さい値」が採用されます。

さらに、パディングやボーダーが設定されている場合にも少しルールが変わります。
これについては水無月ばけらさんの日記に詳しく書いてありました。

border の有無でマージン相殺が変わる

へぇ……そうなんだって感じですが、この記事2003年に書かれたものなんですよね。
僕は1年前にこの世界に入ったわけなので、2003年のことなんか知らないわけですが、なんかここってそういうとこなんだなとあらためて思わされました。

それはともかく、これでマージンがおかしくなるからといって根拠もなくパディングに書き換えてみるとかいうことも減るような気がします。
論理的なルールがわかったので。
経験に理論的な裏づけを加えるって大事なことですね。

IEの余白問題でもう少し情報を。
「マイコミジャーナル」の記事で役に立ちそうなのを見つけました。

【特集】CSS実装徹底検証! そこが知りたいInternet Explorer 7

余白関連の記事はこちら。

フロートと余白の問題

IE6との比較で書かれているので、IE6で問題が起こったときの参考にもなりそうです。

トラックバック

コメントを投稿

「押尾コータロー」 おすすめCD&DVD

コンサートツアー 2007 “COLOR of LIFE”

コンサートツアー 2007 “COLOR of LIFE”

ボレロ! Be HAPPY LIVE

ボレロ! Be HAPPY LIVE

<押尾コータロー>

ドラマティック・ライヴ

ドラマティック・ライヴ

Blue sky~Kotaro Oshio Best Album~(DVD付)

Blue sky~Kotaro Oshio Best Album~(DVD付)

<押尾コータロー>

Dramatic (CCCD)

Dramatic (CCCD)

<押尾コータロー>

Panorama

Panorama

<押尾コータロー>

関連エントリー 【CSS

はてなブックマーク del.icio.us ニフティクリップ livedoor クリップ POOKMARK Airlines Buzzurl(バザール)

Web制作者におススメの一冊

Webデザインノート No.2 (2007)―Making magazine of web design (2) (SEIBUNDO Mook)

SCHOOL OF DESIGN(スクール オブ デザイン)

スタイルシート スタイルブック

俺流amazonの作り方―Amazon Webサービス最新活用テクニック

Webデザイナーのための情報アーキテクチャ入門 成功するサイト構築術

スタイルシートによるレイアウトデザイン見本帖 (ADVANCED WEB DESIGN BOOKS)

Web標準の教科書―XHTMLとCSSでつくる“正しい”Webサイト

Copyright © 2007 Aire-Project All Rights Reserved.