カテゴリー: CSS

  • CSSセレクタの使い方。

    最近ie6をサポートしない、もしくは別スタイルシートで対応するというサイトが増えてきました。

    というわけで、ie7から使えるセレクタのおさらい。
    (さらに…)

  • 縦棒で区切った要素を並べる

    フッターリンクなどで縦棒で区切ってリンクとかを羅列することって、結構あると思うんです。


    的な。
    そんなときいちいちクラスを振ったりJSで数えたりしなくてもスマートにCSSで表現する方法のメモ。ie7以上でー。

    (さらに…)

  • CSSのリセット

    メモ代わりに最近よく使っているCSSリセットとClearFixを晒してみます。

    (さらに…)

  • white-space: nowrap for ie7

    IE7でのみ起こる現象っぽいですが、
    white-space: nowrap;
    がwidth:autoが設定されていると効かないようです。tableの中での話ですが・・・

  • bodyをWrapperとして使う

    ここ数年の流行りとして、wrapperがよくある。

    けれどもbody要素をwrapperに代換することはできないだろうかと。

    で、検証。

    margin = 有効
    padding = 有効
    width = △

    環境はfirefox3.6です。一応他のブラウザでも大体一緒の実装です。

    bodyのwidthは内部コンテンツの横幅などに対しては有効。
    background等bodyのボックス要素そのものの指定に対しては無効。といった感じです。

    wrapperの部分にのみ背景が当たっている、<center>の代わりwrapperを使っているようなレイアウトの場合、一考の余地があるのではないかなと思います。

  • 最新のCSSハック。

    safari3+&Chrome、webkit系ブラウザのみのハックです
    [css]
    @media screen and (-webkit-min-device-pixel-ratio:0)
    {
    /*ここにsafari4&Chrome用ハック*/
    #hack{color:#c00;}
    }
    [/css]

    検証したところ、safari3,4、Google Chrome3にはちゃんと効くようです。
    [css]
    body:first-of-type #hack{color:#c00;}
    [/css]
    がsafari4ハックとして紹介されていたりしますけど、firefox3.5、Opera9以上には効いてしまうんです。

    http://paulirish.com/2009/browser-specific-css-hacks/
    いろいろまとめられてます。

    まぁ、ハックなんてしないのに超したことは無いんですがね・・・

  • 今更だけど透過PNG対策。

    背景に指定するときは

    [css]behavior: expression(
    this.style.behavior || (
    this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader( sizingMethod = crop,src = ‘"+this.currentStyle.getAttribute("backgroundImage").slice(5,-2)+"’ )",
    this.style.backgroundImage = "none",
    this.style.behavior = "none"[/css]

    imgに直接やる場合は

    xhtml

    [xhtml]
    <div>
    <a href="#">
    <img src="hoge.png" alt="" width="200" height="100" />
    </a></div>
    [/xhtml]

    css

    [css]
    * html div{
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=hoge.png);
    width:200px;
    height:100px;
    }
    * html div a img {display:none;}
    [/css]

    なんて書いてやる。

    filterで透過PNGを表示させて、通常のPNGをdisplay:noneで消す。
    面倒ですね・・・・

    ってなわけで通常はIE PNG Fix 2.0 Alpha 4をワタクシは使ってます。

  • 背景が下まででない件について。

    IE7 IE6のバグだかなんだかですが。
    ちゃんとclearしてるし、IE8やfirefoxとかでは正常に表示される場合。

    その要素に
    min-height:100%(IE7)
    height:100%(IE6)
    を書いてやればちゃんとなります。

    あと横並びのメニューを作るときに

    [xhtml]
    <li><a href="#">メニュー</a></li>
    <li><a href="#">メニュー</a></li>
    <li><a href="#">メニュー</a></li>
    [/xhtml]

    というソースがあるとすると、

    [css]
    li{
    list-style:none;
    float:left;
    }

    a{
    display:block;
    width:150px;
    height:30px;
    }
    [/css]

    とか書きます。

    floatがaのプロパティに来てても普通は動作するのですが、IE6&7だと、前のメニューの右下に次のメニューが配置されます。ご注意。。。

  • アンカーテキストとoverflow

    アンカーテキスト(<a herf=”#header”>的な)を指定して、ページ内リンクをつくったとき、

    そのリンク先の親ボックスにoverflow:hiddenが指定されていると

    そのリンクに飛んだときに、親ボックスが上にずれます。

    とりあえず、ブラウザ特有のバグというわけではないようです。。。。

    clearfixをDreamweaver3とかで適用して言う場合は少し注意が必要ですね。。。。。

  • 今更ながら、CSSテクニックまとめ。(1)

    まぁ備忘録ですからね。CSSで使えるテクニックのまとめです。

    Clearfix

    [css]
    .clearfix:after {
    content: ".";
    display: block;
    height: 0px;
    clear: both;
    visibility: hidden;
    }

    /* Win IE7 */
    *:first-child+html .clearfix
    {
    height: 1%;
    }
    /* End Win IE7 */

    /* Win IE6 \*/
    * html .clearfix
    {
    height: 1%;
    }
    /* End Win IE6 */

    /* Mac IE\*//*/
    .clearfix
    {
    display: inline-table;
    }
    /* End Mac IE */
    [/css]
    http://blog.d-spica.com/entry/070307clearfix.html

    cssでのロールオーバー実装と背景画像によるテキスト置換。

    XHTML
    [xhtml]
    <li id="bt1" class="menu_button"><a href="preview.php">preview</a></li>
    [/xhtml]
    CSS
    [css]
    .menu_button a {
    overflow:hidden;
    height:50px;
    text-indent:-9999px;
    display:block;
    }
    .menu_button:hover {
    background-position:-230px;
    }
    #bt1 {
    background-image:url(../images/menu_01.gif);
    }
    [/css]
    Crude Music Web Site で使いますのでリニューアル後にでも見てください。)