ホームページ > ウェブフロントエンド > フロントエンドQ&A > CSSの放射状グラデーションで角度を変えることはできますか?

CSSの放射状グラデーションで角度を変えることはできますか?

青灯夜游
リリース: 2022-08-12 17:04:32
オリジナル
1854 人が閲覧しました

css 放射状グラデーションでは角度を変更できません。 CSS 放射状グラデーションは、radial-gradient() 関数を使用し、構文「background:radial-gradient(type size at location, start color, ..., end color);」を使用して実装されます。この関数は、次のグラデーションの形状を設定できます。放射状グラデーション (円または楕円)、グラデーション サイズ (最近端、最近接コーナー、最遠端、最遠コーナー、含まれるかカバーされる)、グラデーションの位置、グラデーションの開始色と終了色。ただし、放射状グラデーションの角度は変更できません。セット。

CSSの放射状グラデーションで角度を変えることはできますか?

このチュートリアルの動作環境: Windows 7 システム、CSS3&&HTML5 バージョン、Dell G3 コンピューター。

CSS3 放射状グラデーション

radial-gradient() 関数は、放射状のグラデーションを持つ「画像」を作成します。放射状グラデーションは中心点によって定義されます。

放射状グラデーションでは、グラデーションの形状 (円または楕円)、サイズ (最も近い側、最も近い角、最も近い側、最も近い角、最も近い側、最も近い角) を指定できます。最遠側、最遠隅、包含またはカバー))、位置、グラデーションの開始色と終了色。カラーストップ: 線形グラデーションの場合と同様に、グラデーション ラインに沿ってグラデーションの開始色と終了色を定義する必要があります。

例: 次の例は放射状グラデーションを示しています - カラー ノードは均等に分散されています:

1

2

3

#grad {

  background-image: radial-gradient(red, green, blue);

}

ログイン後にコピー

CSSの放射状グラデーションで角度を変えることはできますか?

構文:

1

background-image: radial-gradient( shape size at position, start-color, …, last-color );

ログイン後にコピー

<radial - gradient> = radio-gradient( [ [ <shape> || <size> ] [ at <position> ]?, | at <position> , ] ? <color-stop> ] )

#値説明円のタイプを決定します: サイズを定義します。 gradient 、可能な値: ##positioncenter は、開始色と終了色を指定するために使用されます。グラデーションの。

下面为了更好的理解radial-gradient()具体的用法,我们主要通过不同的示例来对比CSS3径向渐变的具体用法

示例一:

1

2

background: -moz-radial-gradient(#ace, #f96, #1E90FF);

background: -webkit-radial-gradient(#ace, #f96, #1E90FF);

ログイン後にコピー
ログイン後にコピー

效果:

CSSの放射状グラデーションで角度を変えることはできますか?

示例二:

1

2

background: -moz-radial-gradient(#ace 5%, #f96 25%, #1E90FF 50%);

background: -webkit-radial-gradient(#ace 5%, #f96 25%, #1E90FF 50%);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

从以上俩个示例的代码中发现,他们起止色想同,但就是示例二定位了些数据,为什么会造成这么大的区别呢?其实在径向渐变中虽然具有相同的起止色,但是在没有设置位置时,其默认颜色为均匀间隔,这一点和我们前面的线性渐变是一样的,但是设置了渐变位置就会按照渐变位置去渐变,这就是我们示例一和示例的区别之处:虽然圆具有相同的起止颜色,但在示例一为默认的颜色间隔均匀的渐变,而示例二每种颜色都有特定的位置。

示例三:

1

2

background: -moz-radial-gradient(bottom left, circle, #ace, #f96, #1E90FF);

background: -webkit-radial-gradient(bottom left, circle, #ace, #f96, #1E90FF);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例四:

1

2

background: -moz-radial-gradient(bottom left, ellipse, #ace, #f96, #1E90FF);

background: -webkit-radial-gradient(bottom left, ellipse, #ace, #f96, #1E90FF);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例三和示例四我们从效果中就可以看出,其形状不一样,示例三程圆形而示例四程椭圆形状,也是就是说他们存在形状上的差异。然而我们在回到两个示例的代码中,显然在示例三中设置其形状为 circle,而在示例四中 ellipse,换而言之在径向渐变中,我们是可以设置其形状的。

示例五:

1

2

background: -moz-radial-gradient(ellipse closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

background: -webkit-radial-gradient(ellipse closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例六:

1

2

background: -moz-radial-gradient(ellipse farthest-corner, #ace, #f96 10%, #1E90FF 50%, #f96);

background: -webkit-radial-gradient(ellipse farthest-corner, #ace, #f96 10%, #1E90FF 50%, #f96);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

从示例五和示例六中的代码中我们可以清楚知道,在示例五中我人应用了closest-side而在示例六中我们应用了farthest-corner。这样我们可以知道在径向渐变中我们还可以为其设置大小(Size):size的不同选项(closest-side, closest-corner, farthest-side, farthest-corner, contain or cover)指向被用来定义圆或椭圆大小的点。 示例:椭圆的近边VS远角 下面的两个椭圆有不同的大小。示例五是由从起始点(center)到近边的距离设定的,而示例六是由从起始点到远角的的距离决定的。

示例七:

1

2

background: -moz-radial-gradient(circle closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

background: -webkit-radial-gradient(circle closest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例八:

1

2

background: -moz-radial-gradient(circle farthest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

background: -webkit-radial-gradient(circle farthest-side, #ace, #f96 10%, #1E90FF 50%, #f96);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例七和示例八主要演示了圆的近边VS远边 ,示例七的圆的渐变大小由起始点(center)到近边的距离决定,而示例八的圆则有起始点到远边的距离决定。

示例九:

1

2

background: -moz-radial-gradient(#ace, #f96, #1E90FF);

background: -webkit-radial-gradient(#ace, #f96, #1E90FF);

ログイン後にコピー
ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例十:

1

2

background: -moz-radial-gradient(contain, #ace, #f96, #1E90FF);

background: -webkit-radial-gradient(contain, #ace, #f96, #1E90FF);

ログイン後にコピー

效果如下:

CSSの放射状グラデーションで角度を変えることはできますか?

示例九和示例十演示了包含圆 。在这里你可以看到示例九的默认圈,同一渐变版本,但是被包含的示例十的圆。

最后我们在来看两个实例一个是应用了中心定位和full sized,如下所示:

1

2

3

4

5

6

7

/* Firefox 3.6+ */

 background: -moz-radial-gradient(circle, #ace, #f96);

 /* Safari 4-5, Chrome 1-9 */

 /* Can&#39;t specify a percentage size? Laaaaaame. */

 background: -webkit-gradient(radial, center center, 0, center center, 460, from(#ace), to(#f96));

 /* Safari 5.1+, Chrome 10+ */

 background: -webkit-radial-gradient(circle, #ace, #f96);

ログイン後にコピー

效果如下:

1CSSの放射状グラデーションで角度を変えることはできますか?

下面这个实例应用的是Positioned, Sized,请看代码和效果:

1

2

3

4

5

6

7

/* Firefox 3.6+ */

/* -moz-radial-gradient( [ || ,]? [ || ,]? , [, ]* ) */

background: -moz-radial-gradient(80% 20%, closest-corner, #ace, #f96);

/* Safari 4-5, Chrome 1-9 */

background: -webkit-gradient(radial, 80% 20%, 0, 80% 40%, 100, from(#ace), to(#f96));

/* Safari 5.1+, Chrome 10+ */

background: -webkit-radial-gradient(80% 20%, closest-corner, #ace, #f96);

ログイン後にコピー

效果如下:

1CSSの放射状グラデーションで角度を変えることはできますか?

扩展知识:

我们看看CSS3 重复渐变(Repeating Gradient)的应用

如果您想重复一个渐变,您可以使用-moz-repeating-linear-gradient(重复线性渐变)和-moz-repeating-radial-gradient(重复径向渐变)。 在下面的例子,每个实例都指定了两个起止颜色,并无限重复。

background: -moz-repeating-radial-gradient(#ace, #ace 5px, #f96 5px, #f96 10px);

background: -webkit-repeating-radial-gradient(#ace, #ace 5px, #f96 5px, #f96 10px);

background: -moz-repeating-linear-gradient(top left -45deg, #ace, #ace 5px, #f96 5px, #f96 10px);

background: -webkit-repeating-linear-gradient(top left -45deg, #ace, #ace 5px, #f96 5px, #f96 10px);

ログイン後にコピー

效果:

1CSSの放射状グラデーションで角度を変えることはできますか? 1CSSの放射状グラデーションで角度を変えることはできますか?

有关于CSS3渐变的东西就完了,大家看完了肯定会想,他主要用在哪些方面呢?这个说起来就多了,最简单的就是制作背景,我们还可以应用其制作一些漂亮的按钮,还可以用他来制作patterns,我在这里列出几种制作patterns的示例代码吧:

HTML代码:

1

2

3

4

5

6

7

8

<ul>

   <li class="gradient gradient1"></li>

   <li class="gradient gradient2"></li>

   <li class="gradient gradient3"></li>

   <li class="gradient gradient4"></li>

   <li class="gradient gradient5"></li>

   <li class="gradient gradient6"></li>

</ul>

ログイン後にコピー

CSS 代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

ul {

  overflow: hidden;

  margin-top: 20px;

}

li{

  width: 150px;

  height: 80px;

  margin-bottom: 10px;

  float: left;

  margin-right: 5px;

  background: #ace;

  /*Controls the size*/

  -webkit-background-size: 20px 20px;

  -moz-background-size: 20px 20px;

  background-size: 20px 20px;

}

      

li.gradient1 {

  background-image: -webkit-gradient(

    linear,

    0 100%, 100% 0,

    color-stop(.25, rgba(255, 255, 255, .2)),

    color-stop(.25, transparent),

    color-stop(.5, transparent),

    color-stop(.5, rgba(255, 255, 255, .2)),

    color-stop(.75, rgba(255, 255, 255, .2)),

    color-stop(.75, transparent),

    to(transparent)

    );

  background-image: -moz-linear-gradient(

    45deg,

    rgba(255, 255, 255, .2) 25%,

    transparent 25%,

    transparent 50%,

    rgba(255, 255, 255, .2) 50%,

    rgba(255, 255, 255, .2) 75%,

    transparent 75%,

    transparent

    );

  background-image: -o-linear-gradient(

    45deg,

    rgba(255, 255, 255, .2) 25%,

    transparent 25%,

    transparent 50%,

    rgba(255, 255, 255, .2) 50%,

    rgba(255, 255, 255, .2) 75%,

    transparent 75%,

    transparent

  );

  background-image: linear-gradient(

    45deg,

    rgba(255, 255, 255, .2) 25%,

    transparent 25%,

    transparent 50%,

    gba(255, 255, 255, .2) 50%,

    rgba(255, 255, 255, .2) 75%,

    transparent 75%,

    transparent

    );

}

  

li.gradient2 {

   background-image: -webkit-gradient(linear, 0 0, 100% 100%,

      color-stop(.25, rgba(255, 255, 255, .2)), color-stop(.25, transparent),

      color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .2)),

      color-stop(.75, rgba(255, 255, 255, .2)), color-stop(.75, transparent),

      to(transparent));

   background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,

      transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,

      transparent 75%, transparent);

   background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,

      transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,

      transparent 75%, transparent);

   background-image: linear-gradient(-45deg, rgba(255, 255, 255, .2) 25%, transparent 25%,

      transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%,

      transparent 75%, transparent);

}

      

li.gradient3 {

  background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.5, transparent), to(transparent));

  background-image: -moz-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);

  background-image: -o-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);

  background-image: linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);

}

      

li.gradient4 {

  background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.5, transparent), to(transparent));

  background-image: -moz-linear-gradient(0deg, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);

  background-image: -o-linear-gradient(0deg, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);

  background-image: linear-gradient(0deg, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent);

}

      

li.gradient5 {

  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, #555), color-stop(.25, transparent), to(transparent)),

      -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, #555), color-stop(.25, transparent), to(transparent)),

      -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.75, transparent), color-stop(.75, #555)),

      -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.75, transparent), color-stop(.75, #555));

  background-image: -moz-linear-gradient(45deg, #555 25%, transparent 25%, transparent),

     -moz-linear-gradient(-45deg, #555 25%, transparent 25%, transparent),

     -moz-linear-gradient(45deg, transparent 75%, #555 75%),

     -moz-linear-gradient(-45deg, transparent 75%, #555 75%);

  background-image: -o-linear-gradient(45deg, #555 25%, transparent 25%, transparent),

     -o-linear-gradient(-45deg, #555 25%, transparent 25%, transparent),

     -o-linear-gradient(45deg, transparent 75%, #555 75%),

     -o-linear-gradient(-45deg, transparent 75%, #555 75%);

  background-image: linear-gradient(45deg, #555 25%, transparent 25%, transparent),

    linear-gradient(-45deg, #555 25%, transparent 25%, transparent),

    linear-gradient(45deg, transparent 75%, #555 75%),

    linear-gradient(-45deg, transparent 75%, #555 75%);

}

      

li.gradient6 {

  background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, transparent), color-stop(.5, rgba(200, 0, 0, .5)), to(rgba(200, 0, 0, .5))),

     -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, transparent), color-stop(.5, rgba(200, 0, 0, .5)), to(rgba(200, 0, 0, .5)));

  background-image: -moz-linear-gradient(transparent 50%, rgba(200, 0, 0, .5) 50%, rgba(200, 0, 0, .5)),

     -moz-linear-gradient(0deg, transparent 50%, rgba(200, 0, 0, .5) 50%, rgba(200, 0, 0, .5));

  background-image: -o-linear-gradient(transparent 50%, rgba(200, 0, 0, .5) 50%, rgba(200, 0, 0, .5)),

     -o-linear-gradient(0deg, transparent 50%, rgba(200, 0, 0, .5) 50%, rgba(200, 0, 0, .5));

  background-image: linear-gradient(transparent 50%, rgba(200, 0, 0, .5) 50%, rgba(200, 0, 0, .5)),

     linear-gradient(0deg, transparent 50%, rgba(200, 0, 0, .5) 50%, rgba(200, 0, 0, .5));

}

ログイン後にコピー

效果:

1CSSの放射状グラデーションで角度を変えることはできますか?

(学习视频分享:css视频教程

以上がCSSの放射状グラデーションで角度を変えることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
形状
    ellipse (デフォルト): 楕円の放射状のグラデーションを指定します。
  • circle: 円の放射状のグラデーションを指定します。
#size
    farthest-corner (デフォルト): 円の中心から円の中心から最も遠い角までの放射状グラデーションの半径の長さを指定します。 Side: 放射状グラデーションの半径を指定します。 長さは円の中心から中心に最も近い辺までです。
  • closest-corner: 放射状グラデーションの半径を指定します。 長さは円の中心からです。円の中心に最も近い角まで
  • farthest-side: 放射状のグラデーションを指定します。半径の長さは、円の中心から中心から最も遠い側までです。
は、グラデーションの位置を定義します。可能な値: (デフォルト): 放射状グラデーション円の中心の中央縦数値を設定します。
  • top: 上部を放射状グラデーション円の中心の縦座標値に設定します。
  • bottom: 底部を放射状グラデーション円の中心の縦座標値に設定します。
#start-color, ..., last-color