tableレイアウトが崩れた原因は、CSSリセットかもしれない。

css_exclamation

明けましておめでとうございます、塩川です。

さて、先日クライアントから「サイトに貼りつけたバナーのレイアウトが崩れてしまう」という、ご相談をいただきました。

そのバナーのHTMLソースを見てみると、tableタグで組まれたものでした。

最初「どこかの閉じタグでも忘れているのかな?」と思ったのですが、別に記述ミスはありません。また、変なfloatなども かかってはいないようです。

そこで検証した結果、スタイルシートに記述されたCSSリセットの一部に原因がありました。

CSSリセットとは何なのか?

ブラウザごとに異なる初期状態で適用されているCSSを、スタイルを統一するために上書きする記述をCSSリセットといいます。

具体的には以下のような記述です。

/* CSSリセット */ html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote, pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small, strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table, caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption, figure,footer,header,hgroup,menu,nav,section,summary,time,mark, audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%; vertical-align:baseline;background:transparent;font-weight:normal;} body{line-height:1}article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section{display:block} ul{list-style:none}blockquote,q{quotes:none}blockquote:before, blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0; font-size:100%;vertical-align:baseline;background:transparent} del{text-decoration:line-through}abbr[title],dfn[title] {border-bottom:1px dotted;cursor:help} table{border-collapse:collapse;border-spacing:0} hr{display:block;height:1px;border:0;border-top:1px solid #ccc; margin:1em 0;padding:0}input,select{vertical-align:middle}

で、上記のうち【tbody】【tfoot】【thead】にかかっているスタイルが、tableレイアウトを崩している原因となっています。

tbody,tfoot,thead{vertical-align:baseline;}

vertical-align:baseline;とは、セル要素のベースラインを、最初の行のベースラインに揃えるプロパティです。 これをtbody,tfoot,thead,という表を定義するタグにかけてしまっているんです。

言い方をかえると、レイアウトを崩してでも、テーブルの一番左側に書かれているコンテンツに、左から2番目以降のコンテンツの高さを揃えるスタイルです。

CSSリセットを記述すると、確かにクロスブラウザ対策(ブラウザ間の表示の違いを減らす対策)がやりやすくなりますが、他のサイトから発行されたソース(バナー広告ソースなど)を実装する際には、思わぬレイアウト崩れの原因となることもあります。

その場合は、原因となっているスタイルは消してしまった方が良いかもしれません。

人気の無料メール講座を、ご利用ください。

  • 【プロ直伝】制作前に必ず行う2つのこととは?
  • 【重要】収益サイト制作者が取るべき手段は何か?
  • 【発表】魅せるデザインのラインナップはこちらです。
  • 【無料】必ず入れておくべき、フリープラグイン8選!
  • 【一瞬】瞬時にサイトの印象を引き立てる方法。
  • 【3.5倍】こうして成約率が急上昇しました。
  • 【注意】なぜ記事を増やしてもアクセスが伸びないのか?

※下記のフォームからメール講座に ご登録いただけます。

記事をシェアする

  • Tweetする
  • FaceBookでシェアする
  • はてブにBookmarkする
  • Google+で共有する

Tags


Trackbacks & Comments

Trackback URL for this post:

Leave a Reply