CSS 그레이디언트
CSS는 세 가지 유형의 그레이디언트를 정의합니다.
- Linear Gradient (상-하/좌-우/대각선)
- Radial Gradient (중심)
- Conic Gradient (중앙을 기준으로 회전)
Linear 그레이디언트
선형 그라디언트를 만들려면 두 개 이상의 색상 중지점을 정의해야 합니다. 색상 중지점은 부드러운 전환을 렌더링하려는 색상입니다. 그라데이션 효과와 함께 시작점과 방향(또는 각도)을 설정할 수도 있습니다.
구문
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
상단에서 하단으로(기본값)
다음 예제는 맨 위에서 시작하는 선형 그라데이션입니다. 빨간색에서 노란색으로 바뀝니다.
예제 1
#grad {
background-image: linear-gradient(red, yellow);
}
좌측에서 우측으로
예제 2
다음 예제는 왼쪽에서 시작하는 선형 그라데이션입니다. 빨간색에서 노란색으로 바뀝니다.
예제 2
#grad {
background-image: linear-gradient(to right, red , yellow);
}
대각선
수평 및 수직 시작 위치를 모두 지정하여 대각선으로 그라데이션을 만들 수 있습니다.
다음 예제는 왼쪽 위에서 시작하여 오른쪽 아래로 이어지는 선형 그라데이션을 보여줍니다. 빨간색에서 노란색으로 바뀝니다.
예제 3
#grad {
background-image: linear-gradient(to bottom right, red, yellow);
}
각도 사용
그라데이션의 방향을 더 많이 제어하려면 사전 정의된 방향(아래, 위, 오른쪽, 왼쪽, 아래 오른쪽 등) 대신 각도를 정의할 수 있습니다. 0deg 값은 “상단”과 같습니다. 90deg의 값은 “오른쪽”과 같습니다. 180deg의 값은 “하단”과 같습니다.
구문
background-image: linear-gradient(angle, color-stop1, color-stop2);
다음 예제에서는 선형 그라데이션에서 각도를 사용하는 방법을 보여 줍니다.
예제 4
#grad {
background-image: linear-gradient(180deg, red, yellow);
}
다중 색상 중지점 사용
다음 예제에서는 여러 색상 중지점이 있는 선형 그라데이션(위에서 아래로)을 보여 줍니다.
예제 5
#grad {
background-image: linear-gradient(red, yellow, green);
}
다음 예제에서는 레인보우 색상과 일부 텍스트를 사용하여 선형 그라데이션(왼쪽에서 오른쪽으로)을 작성하는 방법을 보여 줍니다.
예제 6
#grad {
background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}
투명도 사용
그레이디언트는 페이딩 효과를 만드는 데 사용될 수 있는 투명성을 지원합니다.
투명도를 추가 위해 rgb()
함수를 사용하여 색상 정지점을 정의합니다. rgb()
함수의 마지막 매개 변수는 0에서 1까지의 값이 될 수 있으며, 색상의 투명도를 정의합니다. 0은 완전 투명도를 나타내고 1은 완전 색상(투명하지 않음)을 나타냅니다.
다음 예제는 왼쪽에서 시작하는 선형 그라데이션입니다. 완전히 투명하게 시작하여 전체 색상의 빨간색으로 바뀝니다.
예제 7
#grad {
background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
}
선형 그라데이션 반복
repeating-linear-gradient()
함수는 선형 그라데이션을 반복하는 데 사용됩니다.
예제 8
#grad {
background-image: repeating-linear-gradient(red, yellow 10%, green 20%);
}
Radial 그라디언트
방사형 그라데이션은 방사의 중심을 정의합니다.
방사형 그라데이션(radial gradient)을 만들려면 색상 정지점을 두 개 이상 정의해야 합니다.
구문
background-image: radial-gradient(shape size at position, start-color, ..., last-color);
균일한 간격의 색상 중지점(기본값)
다음 예제에서는 색상 중지점이 균일하게 간격을 두고 있는 방사형 그라데이션이 표시됩니다.
예제 9
#grad {
background-image: radial-gradient(red, yellow, green);
}
서로 다른 간격의 색상 중지점
다음 예제에서는 색상 중지점 간격이 다른 방사형 그라데이션이 표시됩니다.
예제 10
#grad {
background-image: radial-gradient(red 5%, yellow 15%, green 60%);
}
모양 설정
shape 매개변수는 모양을 정의합니다. 값 원 또는 타원을 사용할 수 있습니다. 기본값은 타원입니다.
다음 예제에서는 원의 모양을 가진 방사형 그라데이션을 보여 줍니다.
예제 11
#grad {
background-image: radial-gradient(circle, red, yellow, green);
}
다른 크기의 키워드 사용
size 매개 변수는 그라데이션의 크기를 정의합니다. 다음 네 가지 값을 사용할 수 있습니다.
closest-side
farthest-side
closest-corner
farthest-corner
다음 예제는 키워드 크기가 다른 방사형 그라데이션입니다.
예제 12
#grad1 {
background-image: radial-gradient(closest-side at 60% 55%, red, yellow, black);
}
#grad2 {
background-image: radial-gradient(farthest-side at 60% 55%, red, yellow, black);
}
방사형 그라데이션 반복
repeating-radial-gradient()
() 기능은 방사형 그라데이션을 반복하는 데 사용됩니다.
예제 13
#grad {
background-image: repeating-radial-gradient(red, yellow 10%, green 15%);
}
Conic 그라데이션
원뿔형 그라데이션은 중앙점을 중심으로 색 전환이 회전하는 그라데이션입니다.
원뿔형 그라데이션은 두 개 이상의 색상을 정의해야 합니다.
구문
background-image: conic-gradient([from angle] [at position,] color [degree], color [degree], ...);
기본적으로 각도는 0도이고 위치는 중앙입니다.
각도를 지정하지 않으면 색상이 중앙점 주위에 균등하게 분산됩니다.
3개 색상
다음 예제는 세 가지 색상의 원뿔 그라데이션입니다.
예제 14
#grad {
background-image: conic-gradient(red, yellow, green);
}
5개 색상
다음 예제에서는 다섯 가지 색상의 원뿔 그라데이션이 표시됩니다.
예제 15
#grad {
background-image: conic-gradient(red, yellow, green, blue, black);
}
3개 색상과 각도
다음 예제는 세 가지 색상과 각 색에 대한 각도를 가진 원뿔 그라데이션입니다.
예제 16
#grad {
background-image: conic-gradient(red 45deg, yellow 90deg, green 210deg);
}
파이 차트형 그라데이션
border-radius: 50%
를 추가하면 원뿔형 그라데이션이 파이처럼 보입니다.
예제 17
#grad {
background-image: conic-gradient(red, yellow, green, blue, black);
border-radius: 50%;
}
다음은 모든 색에 대해 정의된 도수를 가진 또 다른 파이 차트입니다.
예제 18
#grad {
background-image: conic-gradient(red 0deg, red 90deg, yellow 90deg, yellow 180deg, green 180deg, green 270deg, blue 270deg);
border-radius: 50%;
}
각도가 지정된 원뿔형 그라데이션
[from angle]
은 전체 원뿔 그라데이션이 회전하는 각도를 지정합니다.
다음 예제는 각도가 90도인 원뿔 그라데이션을 보여줍니다.
예제 19
#grad {
background-image: conic-gradient(from 90deg, red, yellow, green);
}
지정된 중심 위치를 사용한 원뿔 그라데이션
[at position]
은 원뿔 그라데이션의 중심을 지정합니다.
다음 예제에서는 중심 위치가 60% 45%인 원뿔 그라데이션을 보여 줍니다.
예제 20
#grad {
background-image: conic-gradient(at 60% 45%, red, yellow, green);
}
원뿔 그라데이션 반복
repeating-conic-gradient()
함수는 원뿔 그라데이션을 반복하는 데 사용됩니다.
예제 21
#grad {
background-image: repeating-conic-gradient(red 10%, yellow 20%);
border-radius: 50%;
}
다음은 정의된 색상 시작점 및 색상 중지점을 사용한 반복 원뿔 그라데이션입니다.
예제 22
#grad {
background-image: repeating-conic-gradient(red 0deg 10deg, yellow 10deg 20deg, blue 20deg 30deg);
border-radius: 50%;
}