>  기사  >  웹 프론트엔드  >  CSS3에서 일반적으로 사용되는 여러 색상 그라데이션 모드

CSS3에서 일반적으로 사용되는 여러 색상 그라데이션 모드

不言
不言원래의
2018-06-12 14:03:212439검색

이제 html5 css3는 점점 인기를 얻고 있습니다. CSS3로 p 그래디언트를 구현하는 것은 어렵지 않습니다. 이 기사에서는 선형 그래디언트, 방사형 그래디언트 및 반복 선형 그래디언트를 포함하여 일반적으로 사용되는 세 가지 색상 그래디언트 모드를 정리했습니다. 샘플 코드를 통해 자세히 알아보겠습니다. 필요한 친구들이 함께 살펴보도록 하겠습니다.

1. 선형 그라디언트: 선형-그라디언트

구문:

  <linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner] ,]? <color-start>[, <color-end>]+)
        <side-or-corner> = [left | right] || [top | bottom]
        <color-start|end> = <color>[ <length>|<percentage>]?

다음 값은 그라디언트의 방향을 나타내는 데 사용되며 각도나 키워드를 사용하여 설정할 수 있습니다.

5ac38b25ee323f13f7fe6f3a1a17a510: 각도 값을 사용하여 그라데이션의 방향(또는 각도)을 지정합니다.

왼쪽으로: 그라데이션을 오른쪽에서 왼쪽으로 설정합니다. 해당 항목: 270deg

오른쪽으로: 그라데이션을 왼쪽에서 오른쪽으로 설정합니다. 해당 항목: 90deg

에서 위로: 그라데이션을 아래에서 위로 설정합니다. 해당 항목: 0deg

에서 아래쪽으로: 위에서 아래로 그라데이션을 설정합니다. 에 해당: 180deg. 이는 기본값이며 공백으로 두는 것과 같습니다.

  6ab8bd9e73d022f4d8c73f46b76d6b4e 그라데이션의 시작 및 끝 색상을 지정하는 데 사용됩니다.

  b10fb37415d019cfffa8c4d7366c607f: 색상을 지정합니다. ㅋㅋ ~ 음수 값 l & lt; 백분율 & gt ;: 시작 및 끝 색상 위치를 백분율로 지정합니다.



예: re

p {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
}  
#LinearAnglePercentage {  
  float:left;  
  background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
}  
#LinearAngle {  
  float:left;  
  background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
}  
#LinearTopRight {  
  float:left;  
  background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
}

II, 방사형 그라데이션: Radial-Gradient

문법:

  <position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?
     <shape> = circle | ellipse
     <size> = <extent-keyword>|[<circle-size>||<ellipse-size>]
     <extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
     <circle-size> = <length>
     <ellipse-size> = [ <length>| <percentage> ]{2}
     <shape-size> = <length>| <percentage>
     <radial-gradient> = radial-gradient([ [ <shape>|| <size> ] [ at <position> ]? , | at <position> , ]?<color-start>[[ , <color-end>]]+)
& lt; ; 2개의 매개변수가 제공된 경우 첫 번째는 가로좌표를 나타내고 두 번째는 세로좌표를 나타냅니다. 하나만 제공된 경우 두 번째 값은 기본적으로 50%입니다.                          세로 좌표를 나타낼 수 있음 그라데이션 원 중심의 가로 좌표 값 . 부정적일 수 있습니다. P & lt; 백분율 & gt; ①: 방사형 그라데이션과 둥근 하트의 수평 좌표 값을 백분율로 지정합니다. 부정적일 수 있습니다. L & lt; length & gt; ②: 방사형 그래디언트 하트의 수직 좌표 값을 길이 값으로 지정합니다. 부정적일 수 있습니다. P & lt; Percentage & gt; ②: 방사형 그래디언트와 둥근 하트의 수직 여백 값을 백분율로 지정합니다. 부정적일 수 있습니다.设 Center①: 방사형 그라데이션과 둥근 하트의 중간 좌표값을 설정합니다.设 Center ②: 방사형 그라데이션의 세로 좌표 값을 설정합니다.置 LEFT: 방사형 그라데이션 중심의 수평 좌표 값을 설정합니다.
오른쪽: 오른쪽을 방사형 그래디언트 원 중심의 가로 좌표 값으로 설정합니다.顶 상단 : 방사형 그라데이션과 둥근 하트의 상단을 설정합니다. ㅋㅋ                                                                               하단: 하단을 방사형 그래디언트 원 중심의 세로 좌표 값으로 설정합니다. S & lt; 모양 & gt; 원형 유형 결정

원: 원형 방사형 그라데이션을 지정합니다.

타원: 타원형 방사형 그라데이션을 지정합니다. E & lt; Extent-keyword & gt; Circle | Ellipse는 이 값을 크기로 받아들입니다.


         가장 가까운 쪽: 원의 중심에서 원의 중심에 가장 가까운 쪽까지 방사형 그라데이션의 반경 길이를 지정합니다.


        가장 가까운 코너: 원의 중심에서 원의 중심에 가장 가까운 각도까지 방사형 그래디언트의 반경 길이를 지정합니다. ㅋㅋ 가장 먼 쪽: 원의 중심에서 가장 먼 쪽까지의 방사형 그라데이션의 반경 길이를 지정합니다. 원. ㅋㅋ                                              먼 쪽 모서리: 원의 중심에서 원의 중심에서 가장 먼 각도까지 방사형 그라데이션의 반경 길이를 지정합니다.


       4864699555de5951925219d21d827f01 circle 接受该值作为 size。

              d82af2074b26fcfe177e947839b5d381:用长度值指定正圆径向渐变的半径长度。不允许负值。

       27f0c97386351520c498b3508674e061 ellipse 接受该值作为 size。

             d82af2074b26fcfe177e947839b5d381:用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

             42c97a047d75abc12b9b351eb8562711:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

示例:

#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
        radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
        radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}

三、重复的线性渐变:repeating-linear-gradient

语法和参数类似线性渐变,这里不在赘述。详情请参考CSS手册。

示例: 

#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}

四、重复的径向渐变:repeating-radial-gradient

语法和参数类似径向渐变,这里不在赘述。详情请参考CSS手册。

示例:

#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}

完整的例子:

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8" />  
<title>ImageCSS3</title>  
<style>  
p {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
}  
#LinearAnglePercentage {  
  float:left;  
  background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
}  
#LinearAngle {  
  float:left;  
  background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
}  
#LinearTopRight {  
  float:left;  
  background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
}  
  
#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
                radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
                radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}  
  
#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}  
  
#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}  
  
</style>  
</head>  
<body>  
<!-- 指定线性渐变起止色 -->  
<p id="LinearStartToEnd"></p>  
<!-- 指定线性渐变起止色位置 -->  
<p id="LinearPercentage"></p>  
<!-- 指定线性渐变颜色渐变方向和起止色位置 -->  
<p id="LinearAnglePercentage"></p>  
<!-- 指定线性渐变颜色渐变方向 -->  
<p id="LinearAngle"></p>  
<!-- 设置渐变从右上到左下 -->  
<p id="LinearTopRight"></p>  
  
<!-- 浮动p换行,此处指定p宽高和边界,是为了覆盖前面定义的p统一CSS样式,  
 可以尝试去掉指定的p宽高和边界,看看效果 -->  
<p style="width:0; height:0; border:none; clear:both"></p>  
<!-- 以中心点为圆心的圆形径向渐变 -->  
<p id="RadialCenterCircle"></p>  
<!-- 径向渐变半径长度:圆心到离圆心最近边的长度 -->  
<p id="RadialClosestSide"></p>  
<!-- 径向渐变半径长度:圆心到离圆心最远边的长度 -->  
<p id="RadialFarthestSide"></p>  
<!-- 左边为径向渐变圆心的横坐标值,顶边为径向渐变圆心的纵坐标值 -->  
<p id="RadialRightTop"></p>  
<!-- 同时指定径向渐变的圆心和半径 -->  
<p id="RadialRadiusCenter"></p>  
<!-- 径向渐变组合 -->  
<p id="RadialGroup"></p>  
  
<p style="width:0; height:0; border:none; clear:both"></p>  
<!-- 指定颜色起止色位置的重复线性渐变 -->  
<p id="RepeatingLinearPercentage"></p>  
<!-- 从左到右渐变的重复线性渐变 -->  
<p id="RepeatingLinearRight"></p>  
<!-- 渐变角度为45度的重复线性渐变 -->  
<p id="RepeatingLinearAngle"></p>  
<!-- 从左下到右上的重复线性渐变 -->  
<p id="RepeatingLinearBottomLeft"></p>  
  
<p style="width:0; height:0; border:none; clear:both"></p>  
<!-- 圆形重复径向渐变 -->  
<p id="RepeatingRadialCircle"></p>  
<!-- 渐变方向为左上到右下的重复径向渐变 -->  
<p id="RepeatingRadialTopLeft"></p>  
<!-- 重复径向渐变:渐变半径长度为从圆心到离圆心最近的角的距离 -->  
<p id="RepeatingRadialClosestCorner"></p>  
  
</body>  
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何用CSS实现带阴影效果的黑色导航菜单效果

两种方法用CSS实现背景图尺寸不随浏览器缩放而变化的代码

위 내용은 CSS3에서 일반적으로 사용되는 여러 색상 그라데이션 모드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.