css透明度を設定してサブ要素に影響しない

5214 ワード

<body>
<div style="background-color:rgba(0,255,0,0.2);"> 
     
div> 
body>

RGBAで透明度を設定し、最新のブラウザのみでサポートされ、IE 9+をサポートし、RGBAのalphaチャネルで設定できます.最初の3つの値はrgbの色値で、最後の透明度の値は0~1で、値が小さいほど透明になります.

すべてのブラウザの書き方に対応:

background-color:rgba(0,0,0,0.25);
filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr=#40000000,endColorstr=#40000000);

注:startColorStrとendColorStrの値は、最初の2つが16進数の透明度で、後ろの6つが16進数の色です.
その形式は#AARRGGBBです.AA、RR、GG、BBは16進数の正の整数である.値範囲は00-FFです.RRは赤色値、GGは緑色値、BBは青色値を指定し、#RRGGBB色単位を参照.AA透明度を指定します.00は完全に透明です.FFは完全に不透明です.値範囲外の値はデフォルト値に戻ります.
2ビット透明度の換算方法:x=alpha*255、計算結果xを16進数に変換すればよい.
js換算16進法:x.toString(16)
例えば、上の0.25透明度、IE換算AA透明度:var a=0.25*255=63.75~=64;a.toString(16) = 40

例:inputに透明度を設定してもサブエレメントには影響しません(互換性IE 8)


<head>
<meta charset="utf-8"/>
<style type="text/css">
body{margin:0;padding:0;}
.div_content{
    background: url("1.gif") no-repeat;
    /* input       ,        。*/
    width: 200px;
    height: 200px;
}
.div_content>input{
    outline: none;
    border: none;
    background-color: transparent;
    /*          ,    。(                  , :span   )*/
    background-color: rgba(0,0,0,0.25);
    filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#40000000,endColorstr=#40000000);
}
style>
head>
<body>
    <div  class="div_content">
        <input type="text" size="20"/>
    div>
body>

html>