programing

CSS3 투명도 + 구배

topblog 2023. 8. 26. 10:17
반응형

CSS3 투명도 + 구배

RGBA는 매우 재미있고, 또한 그렇습니다.-webkit-gradient,-moz-gradient그리고 어...progid:DXImageTransform.Microsoft.gradient네. :)

현재/최신 CSS 사양을 사용하여 알파 투명도의 그라데이션이 있도록 RGBA와 그라데이션 두 가지를 결합할 수 있는 방법이 있습니까?

예. 웹킷과 모즈 그라데이션 선언 모두에서 rgba를 사용할 수 있습니다.

/* 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)
);

(src)

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

(src)

IE에서도 홀수 "확장 16진수" 구문을 사용하여 이 작업을 수행할 수 있습니다.첫 번째 쌍(예 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
);

(src)

새로운 구문은 모든 최신 브라우저(Chrome 26, Opera 12.1, IE 10 및 Firefox 16부터)에서 한동안 지원되어 왔습니다. http://caniuse.com/ #http=http-messages

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

이렇게 하면 상단의 검은색 실선에서 시작하여 하단의 투명도까지 그라데이션이 렌더링됩니다.

MDN에 대한 설명서.

이것은 정말 멋진 것들입니다!거의 동일하지만 흰색에서 투명한 수평 경사가 필요했습니다.그리고 그것은 잘 작동하고 있습니다!내 코드는 다음과 같습니다.

.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
        );
    }

내 코드는 다음과 같습니다.

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 */
#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*/
}

저는 이것을 w3 학교에서 발견했고 제가 그라데이션과 투명성을 찾는 동안 제 요구에 맞았습니다.w3개 학교를 참고할 수 있도록 링크를 제공합니다.기울기와 투명성을 원하는 사람이 있다면 이것이 도움이 되기를 바랍니다.

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

또한 링크를 붙여주는 불투명도를 변경하여 확인하기 위해 w3 학교에서 시도했습니다.

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

도움이 되길 바랍니다.

다음은 동일한 색상에 대해 완전히 불투명(위쪽)에서 투명도(아래쪽) 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 */

저는 최근에 우연히 이 예를 발견했습니다.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 에서

언급URL : https://stackoverflow.com/questions/2293910/css3-transparency-gradient

반응형