• 33kg

    ホーム
    お問い合わせ
    カレンダーの折り方
    aroow-entry

    文字を透過せず背景色だけ透過する

    このテキストが載っている背景色の白は透明度75%で透過しています。
    透過に関しては、以下の様な記述を良くつかっているのですが、この方法だと、安定はしているものの要素に内包される全てが透過される為、テキストや画像も同じ透明度で透過されてしまいます。

    filter: alpha(opacity=75); -moz-opacity:0.75; opacity:0.75;

    そこで今回は、背景のみに透過の指示をしてテキストや画像は透過させないというのを探してみました。
    で、使った記述がこれ。

    filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#bfffffff,EndColorStr=#bfffffff); background-color: rgba(255, 255, 255, 0.75);

    「background-color: rgba〜」に対応しているブラウザは背景色を0〜255のRGB指定で透明度を0〜1(0が0%で1が100%)で指示します。
    で、それ以外は「filter〜」で指示をするのですが、これがちょっと謎でした。
    どうやら透過を使って背景をグラデーション化する為のフィルタをグラデーションの度合いを開始=終了にして単純に透明に利用しているようです。
    具体的に指示するのは、「StartColorStr=#BFffffff」と「EndColorStr=#BFffffff)」の二つ。 「#〜」が透明度とカラーの指定で、最初の2桁が透明度、後の6桁がカラーです。
    カラーはウェブでも良く使うパターンなので説明は省きます。
    透明度が一瞬戸惑うんですが、0〜100%の透明度を0〜255にして、それを16進数で表現しています。 75%を指定する場合は、255x75%=191→BFって具合です。ちなみに「GradientType=0」はグラデーションの方向を指示する値で、0が縦、1が横とのこと、値を変えて遊んでみるのも楽しそうですね。

    今回の参考リンクはこちら→rgba()とfilterで背景だけを透過させる

    この記事のURL
    Tweet
    2014
    07
    2013
    07
    06
    05
    04
    03
    02
    2011
    12
    Category
    33KG カレンダー(1)
    DJ MIX(9)
    HTML/CSS備忘録(6)
    ごあいさつ(1)
    つぶやき(3)