CSS3透明度+グラデーション


286

RGBAは非常に楽しいです、そしてそうである-webkit-gradient-moz-gradientとええと... progid:DXImageTransform.Microsoft.gradient...うん。:)

RGBAとグラデーションの2つを組み合わせて、現在/最新のCSS仕様を使用してアルファ透明度のグラデーションを作成する方法はありますか?


1
@ geo1701のコメントは、現代の基準に関連しているため、受け入れられるものになるはずです。
Dmytro Shevchenko

回答:


326

はい。rgbaは、webkitとmozの両方のグラデーション宣言で使用できます。

/* webkit example */
background-image: -webkit-gradient(
  linear, left top, left bottom, from(rgba(50,50,50,0.8)),
  to(rgba(80,80,80,0.2)), color-stop(.5,#333333)
);

ソース

/* mozilla example - FF3.6+ */
background-image: -moz-linear-gradient(
  rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 95%
);

ソース

どうやら、奇数の「拡張16進」構文を使用して、IEでこれを行うこともできます。最初のペア(例では55)は不透明度のレベルを示しています。

/* approximately a 33% opacity on blue */
filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr=#550000FF, endColorstr=#550000FF
);

/* IE8 uses -ms-filter for whatever reason... */
-ms-filter: progid:DXImageTransform.Microsoft.gradient(
  startColorstr=#550000FF, endColorstr=#550000FF
);

ソース


20
参考までに、「拡張16進数」は、24ビットRGBカラー値ではなく、32ビットARGBです。
マッケ2011

2
私も、標準のCSSでの仕事にこれらたいと思いますが、最後にアルファで(より自然なようだ):#0001「黒ほぼ透明」のために、短い六角だろうと#ffcc00ff同じだろう#ffcc00「黄完全に不透明みかん」を、すなわち、
空飛ぶ羊

56
また、ColorzillaCSS3 Gradient Generatorをチェックしてください。ここには、素晴らしいプリセットがたくさんあり、ブラウザ間の互換性のあるすべてのバリエーションがあり、希望のグラデーションを実現できます
andrhamm

それで、私はそれをチェックアウトしました、すべての主要なブラウザで動作しますが、オペラでは動作しません、手がかりはありますか?
WhoSayIn

気にしないで、私はそれを見つけました;)background-image: -o-linear-gradient(top,rgba(255,255,255,0),rgba(210, 230, 250,1));
WhoSayIn

101

しばらくの間、新しい構文がすべての最新ブラウザー(Chrome 26、Opera 12.1、IE 10、Firefox 16以降)でサポートされていますhttp : //caniuse.com/#feat=css-gradients

background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));

これにより、上部が黒一色で始まり、下部が完全に透明になるまでグラデーションがレンダリングされます。

MDNに関するドキュメント


7
..上部が黒一色で下部が完全に透明になる
commonpike

これは提案であり、実際には機能しないと思いますか?
バート、2015

15

これは本当にクールなものです!ほぼ同じものが必要ですが、白から透明への水平方向のグラデーションが必要です。そしてそれはうまくいきます!これが私のコードです:

.gradient{
        /* webkit example */
        background-image: -webkit-gradient(
          linear, right top, left top, from(rgba(255, 255, 255, 1.0)),
          to(rgba(255, 255, 255, 0))
        );

        /* mozilla example - FF3.6+ */
        background-image: -moz-linear-gradient(
          right center,
          rgba(255, 255, 255, 1.0) 20%, rgba(255, 255, 255, 0) 95%
        );

        /* IE 5.5 - 7 */
        filter: progid:DXImageTransform.Microsoft.gradient(
          gradientType=1, startColor=0, endColorStr=#FFFFFF
        );

        /* IE8 uses -ms-filter for whatever reason... */
        -ms-filter: progid:DXImageTransform.Microsoft.gradient(
          gradientType=1, startColor=0, endColoStr=#FFFFFF
        );
    }

1
参考までに、Microsoftの実装では、gradientType = 1は水平、0は垂直です。
Brooks

IE7とIE8のグラデーションはアルファ色を指定していませんか?それらは本当に透明にフェードしますか?
KajMagnus

3

これが私のコードです:

background: #e8e3e3; /* Old browsers */
  background: -moz-linear-gradient(top,  rgba(232, 227, 227, 0.95) 0%, rgba(246, 242, 242, 0.95) 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(232, 227, 227, 0.95)), color-stop(100%,rgba(246, 242, 242, 0.95))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* IE10+ */
  background: linear-gradient(to bottom,  rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='rgba(232, 227, 227, 0.95)', endColorstr='rgba(246, 242, 242, 0.95)',GradientType=0 ); /* IE6-9 */

3
#grad
{
    background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /*Safari 5.1-6*/
    background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Opera 11.1-12*/
    background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Fx 3.6-15*/
    background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /*Standard*/
}

私はこれをw3schoolsで見つけ、グラデーションと透明度を探している間に自分のニーズに合いました。w3schoolsへのリンクを提供しています。誰かがグラデーションと透明度を探している場合にこれが役立つことを願っています。

http://www.w3schools.com/css/css3_gradients.asp

また、w3schoolsでリンクを貼り付けて不透明度を変更してみました。

http://www.w3schools.com/css/tryit.asp?filename=trycss3_gradient-linear_trans

それが役に立てば幸い。


1

以下は、同じ色に対して完全に不透明(上)から20%の透明(下)までの垂直方向のグラデーションを生成するために使用しているものです。

background: linear-gradient(to bottom, rgba(0, 64, 122, 1) 0%,rgba(0, 64, 122, 0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
background: -o-linear-gradient(top, rgba(0, 64, 122, 1) 0%, rgba(0, 64, 122, 0.8) 100%); /* Opera 11.10+ */
background: -moz-linear-gradient(top, rgba(0, 64, 122, 1) 0%, rgba(0, 64, 122, 0.8) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(0, 64, 122, 1) 0%,rgba(0, 64, 122, 0.8) 100%); /* Chrome10-25,Safari5.1-6 */
background: -ms-linear-gradient(top, rgba(0, 64, 122, 1) 0%,rgba(0, 64, 122, 0.8) 100%); /* IE10+ */
-ms-filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00407a', endColorstr='#cc00407a',GradientType=0 ); /* IE8 */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00407a', endColorstr='#cc00407a',GradientType=0 ); /* IE 5.5 - 9 */

0

私はこの最近の例に出くわしました。最新の例を単純化して使用するには、CSSに 'grad'のセレクタークラスを指定します(後方互換性を含めました)

.grad {
    background-color: #F07575; /* fallback color if gradients are not supported */
    background-image: -webkit-linear-gradient(top left, red, rgba(255,0,0,0));/* For Chrome 25 and Safari 6, iOS 6.1, Android 4.3 */
    background-image: -moz-linear-gradient(top left, red, rgba(255,0,0,0));/* For Firefox (3.6 to 15) */
    background-image: -o-linear-gradient(top left, red, rgba(255,0,0,0));/* For old Opera (11.1 to 12.0) */
    background-image: linear-gradient(to bottom right, red, rgba(255,0,0,0)); /* Standard syntax; must be last */
}

https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradientから

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.