css3線形勾配線形勾配

線形グラデーション: 軸 (水平または垂直) に沿って色を変更し、開始点から終了色まで順次グラデーションを実行します (一方の側からもう一方の側に引っ張ります)。

css3のlinear-gradient線形グラデーションの詳しい説明:
gradientにはlinear-gradient線形グラデーションとradial-gradient放射状グラデーションが含まれます。
この章では線形グラデーションのみを紹介します。放射状グラデーションについては、CSS3 の放射状グラデーションの章を参照してください。
現在人気のあるブラウザ カーネルには主に次のものが含まれます:
(1)。
(2).WebKit (Safari、Chrome など)。
(3) Opera (Opera ブラウザ)。
(4) Trident (IE ブラウザ)、IE9 以降のブラウザはこの属性をサポートしています。
線形グラデーションの最新の構文は基本的に同じです (Google Chrome にも比較的古い構文構造があり、これについては後で紹介します)。
文法構造:

linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )

パラメータ分析:
(1)。[<point> || <angle>]: 線形グラデーションの方向を指定する場合はオプション。ポイント値は、左、上、右、下、またはそれらの適切な組み合わせにすることができます。 left は左から右、top は上から下、左上は左上隅から右下隅などを意味します。 Angleは角度を指定しますが、これについては後で紹介します。
(2).<stop>: 必須。2 番目と 3 番目のパラメーターはそれぞれ開始点の色と終了点の色です。もちろん、複数の色のグラデーションを表すために、さらに多くのパラメーターをそれらの間に挿入できます。
図は次のとおりです:
QQ截图20161014154952.png

Google Chrome の古いバージョンにも次のような文法構造があります:

-webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)

この記事はこの文法構造を放棄しています。興味のある方は、こちらをご覧ください。自分たちも一度。
コード例:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://ask.php.cn/" />
<title>php中文网</title>
<style type="text/css">
div{
  width:150px;
  height:80px;
  margin:20px;
}
.left{
  background:-webkit-linear-gradient(left, #ace,#f96 );
  background:-moz-linear-gradient(left, #ace,#f96 );
  background:-o-linear-gradient(left,#ace,#f96);
}
.top{
  background:-webkit-linear-gradient(top, #ace,#f96 );
  background:-moz-linear-gradient(top, #ace,#f96 );
  background:-o-linear-gradient(top,#ace,#f96);
}
.lefTop{
  background:-webkit-linear-gradient(left top, #ace,#f96 );
  background:-moz-linear-gradient(left top, #ace,#f96 );
  background:-o-linear-gradient(left top,#ace,#f96);
}
.more{
  background:-webkit-linear-gradient(left, #ace, #f96, #0094ff );
  background:-moz-linear-gradient(left, #ace, #f96, #0094ff );
  background:-o-linear-gradient(left, #ace, #f96, #0094ff);
}
</style>
</head>
<body>
<div class="left"></div>
<div class="top"></div>
<div class="lefTop"></div>
<div class="more"></div>
</body>
</html>

QQ截图20161014154011.png

上記のコードは、線形グラデーションの基本的な使用法を示しています。引き続き詳しく紹介します。
前のデモでは、色の位置が指定されていなかったため、グラデーションが均等に分散されました。実際には、グラデーションの領域を制御できます。
コード例は以下の通りです。

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://ask.php.cn/" />
<title>php中文网</title>
<style type="text/css">
div{
  width:150px;
  height:80px;
  margin:20px;
}
.antzone{
  background:-webkit-linear-gradient(left, #ace 80%, #f96);
  background:-moz-linear-gradient(left, #ace 80%, #f96);
  background:-o-linear-gradient(left,#ace 80%, #f96);
}
</style>
</head>
<body>
<div class="antzone"></div>
</body>
</html>

QQ截图20161014154018.png

上記のコードはグラデーションの範囲を規定しています。2番目の色が指定されていないため、グラデーションの終了位置は100になります。 %。つまり、80% より前の位置はグラデーション効果のない単色であり、80% ~ 100% の間の領域はグラデーションになります。もう一度コード例を見てみましょう:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://ask.php.cn/" />
<title>php中文网</title>
<style type="text/css">
div{
  width:150px;
  height:80px;
  margin:20px;
}
.antzone{
  background:-webkit-linear-gradient(left, #ace 30%, #f96 80% );
  background:-moz-linear-gradient(left, #ace 30%, #f96 80%);
  background:-o-linear-gradient(left,#ace 30%, #f96 80%);
}
</style>
</head>
<body>
<div class="antzone"></div>
</body>
</html>

QQ截图20161014154026.png

上記のコードでは、30%から80%の間の領域がグラデーション領域であり、それ以外の領域が単色であると規定されています。
角度の使用について:
記事の冒頭で紹介した構文構造では、次のように最初のパラメータを角度にすることもできます:

linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )

それは水平線とグラデーション線によって生成される角度です。反時計回り 、角度を指定しない場合は、開始位置に基づいて角度が自動的に定義されます。
コード例は次のとおりです。

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://ask.php.cn/" />
<title>php中文网</title>
<style type="text/css">
div{
  width:150px;
  height:80px;
  margin:20px;
}
.antzone{
  background:-webkit-linear-gradient(30deg,#ace,#f96);
  background:-moz-linear-gradient(30deg,#ace,#f96);
  background:-o-linear-gradient(30deg,#ace,#f96);
}
</style>
</head>
<body>
<div class="antzone"></div>
</body>
</html>

QQ截图20161014154035.png

グラデーション角度は静的であり、観察と理解に役立たない可能性があります。以下に継続的な設定効果を示します。
コード例は次のとおりです:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://ask.php.cn/" />
<title>php中文网</title>
<style type="text/css">
div{
  width:150px;
  height:80px;
  margin:20px;
}
.antzone{
  background:-webkit-linear-gradient(0deg,#ace,#f96);
  background:-moz-linear-gradient(0deg,#ace,#f96);
  background:-o-linear-gradient(0deg,#ace,#f96);
}
</style>
<script>
window.onload = function () {
  var odiv = document.getElementsByTagName("div")[0];
  var obt = document.getElementById("bt");
  obt.onclick = function () {
    var timer = null;
    var count = 0;
    timer = setInterval(function () {
      if (count == 360) {
        clearInterval(timer);
      }
      count = count + 1;
      odiv.style.background = "-webkit-linear-gradient(" + count + "deg,#ace,#f96)";
      odiv.style.background = "-moz-linear-gradient(" + count + "deg,#ace,#f96)";
      odiv.style.background = "-o-linear-gradient(" + count + "deg,#ace,#f96)";
    }, 100)
  }
}
</script>
</head>
<body>
<div class="antzone"></div>
<input type="button" id="bt" value="查看效果"/>
</body>
</html>


QQ截图20161014154042.png ボタンをクリックすると、角度を動的に設定する効果が表示され、理解に役立ちます。
透明度の適用:
線形グラデーションを透明度に適用することもできます。 コード例は次のとおりです。

学び続ける
||
<!DOCTYPE html> <html> <head> <meta charset="gb2312"> <meta name="author" content="http://ask.php.cn/" /> <title>php中文网</title> <style type="text/css"> div{ width:1000px; height:667px; margin:20px; } .antzone{ background:-webkit-linear-gradient(left,rgba(255,255,255,0),rgba(255,255,255,1)),url(http://img01.taopic.com/141002/240423-14100210124112.jpg); background:-moz-linear-gradient(left,rgba(255,255,255,0),rgba(255,255,255,1)),url(http://img01.taopic.com/141002/240423-14100210124112.jpg); background:-o-linear-gradient(left,rgba(255,255,255,0),rgba(255,255,255,1)),url(http://img01.taopic.com/141002/240423-14100210124112.jpg); } </style> </head> <body> <div class="antzone"></div> </body> </html>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜