タグ

ブックマーク / mb.blog7.fc2.com (5)

  • floatとpositionの使い分け

    てんぽ: floatとpositionの使い分け CSSHTML、FC2ブログのカスタマイズ、共有テンプレートなど CSSで段組をやるには普通floatかpositionを使いますが、どのように使い分けるのか。 これはいろいろと試行錯誤しているうちにわかってくるものなので、「そんなこと知ってる」という人も多いかと思いますが、まとめてみます。 条件としては以下のような感じ。 HTMLの記述順は「(ヘッダ→)記事→サイドバー(→フッタ)」を守る 記事領域とサイドバーの長さはページによって異なる(どちらが長くなるかわからない) サイドバーとフッタの文字が重なる、とかは駄目 floatとpositionの違いは、「floatは下方向に融通が利く」のに対し、「positionは上方向に融通が利く」といえます。 何のことかさっぱりわからないと思いますが、つまりこういうことです。 フロートはソース上で

  • CSSで三段組

    三段組で遊ぼ 次の条件を満たす段組をCSSでレイアウトしやがれ。今作れ、すぐ作れ、直ちに作れ。 3カラムのリキッドデザインであること。 両端のカラムは固定幅とし、中央のカラムのみ可変幅にすること。 HTMLソースでは中央のカラムを他のカラムより先に記述すること。 position: absoluteは使用禁止。floatでデザインすること。 では作ってみようか、と思ったけどCSSによる段組(マルチカラム)レイアウト講座のメインカラム幅可変、サイドバー幅固定 3カラムに解説があるので、そちらを参照のこと。 「三段組でメインコンテンツを先に書いてみるテスト(rtmr)」ではレイアウト講座とは違ったやり方で実現しています。 .main-w { float: left; width: 100%; margin-right: -100%; } margin-right: -100%;というのが大胆で

  • floatは「回り込み」ではない:てんぽ

    てんぽ: floatは「回り込み」ではない CSSHTML、FC2ブログのカスタマイズ、共有テンプレートなど 「CSSのfloatプロパティは『回り込み』させるものである」とよく説明されますが、それは特定条件下での表示結果がそのように見えるだけであって、あまり正確ではありません。 「回り込み」という表現はfloatを使いこなすうえで、語弊になっていると思います。 floatとは、通常の流れ(normal flow)から取り除き、左(または右)に寄せるです。 floatは「回り込み」ではない <p> <img src="xxx.jpg" alt="floating image"> 「回り込む」テキスト </p> このときimg要素を左にフロートさせた(float:left)なら、後続するテキストはimgの右側に「回り込み」ます。 これは確かに回り込みと呼べます。 では、ブロックレベル要素を

  • 可変幅で両側にドロップシャドウ(div一重で)

    てんぽ: 可変幅で両側にドロップシャドウ(div一重で) CSSHTML、FC2ブログのカスタマイズ、共有テンプレートなど background-positionを%単位で指定し、ドロップシャドウ用の画像の大きさを調整することで、 画面の両側に影をつけたリキッドデザイン(画像の使用を極力控えてかっこいいCSSデザインをやってみよう大会のような)を実現できます。 しかも必要となるdivはひとつだけです。 このようなデザインでは divを二重にして一方のdivの左端に左側用の影画像を、もう一方のdivの右端に右側用の影画像を背景画像として指定するのが簡単です。 <div id="left"> <div id="right"> </div> </div> #left { width: 90%; margin: auto; background: url(shadow-left.gif) top

  • CSSレイアウトの定石 WinIE6バグ回避法

    CSSを使ったレイアウトをする際にWinIE6のバグを回避するための「定石」をまとめておきます。 とくに重要だと思うものは強調してあります。参考としてバグ辞典へのリンクも用意しました(つまり回避法を用いない場合にどんなバグが発現するか)。 フォントサイズ関係 font-sizeは%かpxで指定する。 キーワードで文字サイズを指定すると標準モードと互換モードで文字サイズが変わる(IE6) em単位で指定した値が文字サイズ変更後に正しく反映されない(IE6) ボックスモデル関係 widthと同時に左右borderや左右paddingを指定しない。heightと同時に上下borderや上下paddingを指定しない。 ボックスの幅や高さを算出するときにパディングやボーダーのサイズを含めてしまう (ブロックレベル要素を内包するボックスにはpaddingを指定しない。) 左右ボーダーとパディングを設

    mimimi0101
    mimimi0101 2009/02/03
     ブ_IE6
  • 1