>  기사  >  웹 프론트엔드  >  CSS3 선형 그래디언트를 사용하여 테두리를 만드는 방법

CSS3 선형 그래디언트를 사용하여 테두리를 만드는 방법

不言
不言원래의
2018-06-09 15:56:012383검색

이 글은 주로 CSS3 선형 그라데이션을 사용하여 테두리를 만드는 방법을 소개합니다. 이제 특정 참조 가치가 있으므로 도움이 필요한 친구들이 참고할 수 있습니다.

선형 그라데이션 선을 사용하여 테두리를 만드는 것이 더 낫습니까? ? 정말 멋지네요. 특히 획을 사용하여 복사된 테두리 효과를 만들 수 있습니다. 여기서는 CSS3의 선형 그라데이션을 사용하여 테두리를 만드는 예를 살펴보겠습니다.

일반적으로 앱 테두리의 획 선은 그러다가 평소대로 1px 테두리를 직접 따라해봤는데 1px인데 결과가 앱의 획과는 전혀 다르고 '두꺼워'서 해결책이 있는지 온라인으로 검색해봤는데 안되더군요. 찾을 수 없으면 어떻게 해야 하나요? 수요 측에서 너무 힘들게 하고 싶지 않다면 혼자서만 해결할 수 있습니다.
마지막 방법은 선형 그라디언트(선형-그라디언트)를 생각나게 합니다.

CSS

.line li{  border: none;   
  background-image: -webkit-linear-gradient(#222 50%,transparent 50%);   
  background-image: -moz-linear-gradient(#222 50%,transparent 50%);   
  background-image: -o-linear-gradient(#222 50%,transparent 50%);   
  background-image: linear-gradient(#222 50%,transparent 50%);   
  background-size:  100% 1px;   
  background-repeat: no-repeat;   
  background-position: bottombottom;}

XML/HTML

<ul class="line">
    <li>linear-gradient</li>
    <li>linear-gradient</li>
    <li>linear-gradient</li>
</ul>OK,又出来了,但还是有点瑕疵,那么问题来了,就是改变描边位置(left,top,right,bottom)需要修改参数

왼쪽 획을 변경해야 하는 경우:

CSS

background-image: -webkit-linear-gradient(left ,transparent 50%,#222 50%);   
background-size:  1px 100%;   
background-position: left;

특별한 사항은 없습니다. 하나씩 나열됩니다.

선형을 사용하여 복잡한 테두리 효과 만들기
그리고 인터넷에서 선형 그라데이션 속성을 사용하여 화려한 테두리 효과를 만드는 방법을 보았습니다. 먼저, 코드가 컴퓨터에 미치는 영향을 확인할 수 있습니다.

CSS

<!DOCTYPE html>     

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">     
<head>     
    <meta charset="utf-8" />     
    <title></title>     
    <style>     
        .box {     
            margin: 80px 30px;     
            width: 200px;     
            height: 200px;     
            position: relative;     
            background: #fff;     
            float: left;     
        }     

            .box:before {     
                content: &#39;&#39;;     
                z-index: -1;     
                position: absolute;     
                width: 220px;     
                height: 220px;     
                top: -10px;     
                left: -10px;     
            }     

        .first:before {     
            background-image: linear-gradient(90deg, yellow, gold);     
        }     

        .second:before {     
            background-image: linear-gradient(0deg, orange, red);     
        }     

        .third:before {     
            background-image: repeating-linear-gradient(-45deg,#cc2a2d,#cc2a2d 30px,#f2f2f2 30px,#f2f2f2 40px,#0e71bb 40px,#0e71bb 70px,#f2f2f2 70px,#f2f2f2 80px);     
        }     
    </style>     
</head>     
<body>     
    <p class="box first"></p>     
    <p class="box second"></p>     
    <p class="box third"></p>     
</body>     
</html>    有代码可以看出,其实我们并没有使用border,那么这种边框效果是怎么实现的呢?

일반적인 아이디어는 먼저 흰색 p를 정의한 다음 흰색 사각형보다 큰 원으로 색상이 있는 p를 정의하는 것입니다. . 두 개를 겹치고 흰색 p가 컬러 p를 덮어 테두리 효과를 얻습니다.
여기에는 CSS 지식 포인트가 많이 사용되었습니다.
1. :before pseudo-class
위 코드에서 정의된 흰색 p에 :before pseudo-class를 실제로 정의하고 여기에 색칠된 사각형의 모든 스타일을 넣는 것을 볼 수 있습니다. :before 정의를 사용하면 위치 지정이 더 편리해지기 때문입니다. 상단과 왼쪽을 테두리 너비로 조정하면 됩니다. 동시에 둘은 하나가 된다.
2. 선형 그라데이션
이제 많은 브라우저가 이 CSS 방법을 지원합니다. 이 방법에는 다음과 같은 세 가지 사용 모드가 있습니다.
① background:linear-gradient(top,#fff,#000)
이 코드는 상단이 흰색에서 시작하여 하단이 검정색으로 전환된다는 의미입니다.
② background:linear-gradient(top,right,#fff,#000)
이 코드는 위치에 대한 두 개의 매개변수인 위쪽과 오른쪽을 전달합니다. 이는 오른쪽 위에서 시작하여 왼쪽 아래로 변경됨을 의미합니다. 첫 번째와 동일합니다.
3 background:linear-gradient(30deg,#fff,#000)
이 코드의 첫 번째 매개변수는 각도를 전달합니다. 실제로 원리와 위치는 동일하지만 표준 위치에서 변경되지는 않습니다. 그렇다면 각도와 위치 사이의 대응 관계는 무엇입니까? 실험에 따르면 0도는 아래쪽, 90도는 왼쪽, 180도는 위쪽, 360도는 오른쪽에 해당합니다.
위는 선형 방법을 사용하여 멋진 테두리를 구현하는 코드와 설명입니다. 로컬에서 구현하면 더 참신한 조합 구현 방법을 찾을 수 있습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

CSS3을 사용하여 문자열을 가로채는 방법

동적 텍스트 효과를 얻기 위해 순수 CSS를 사용하는 예

위 내용은 CSS3 선형 그래디언트를 사용하여 테두리를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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