Home  >  Article  >  Web Front-end  >  How to use CSS3 linear gradient to create a border

How to use CSS3 linear gradient to create a border

不言
不言Original
2018-06-09 15:56:012362browse

This article mainly introduces how to use CSS3 linear gradient linear-gradient to make borders. It has a certain reference value. Now I share it with you. Friends in need can refer to

linear-gradient lines It is quite powerful for making borders, especially its strokes can be used to create some copied border effects. Here we will take a look at an example of using CSS3 linear-gradient to make borders

General app The border stroke lines were all smaller than one pixel, so I directly traced a 1px border as usual. Although it was 1px, the result was completely different and "thicker" than the stroke in the app, so I looked for it on the Internet. I'm looking to see if there is a solution, but I haven't found it after searching for a while. What should I do? If the demand side doesn't want to be so rough, then I have to solve it myself.
So I used the previous method to think of linear-gradient

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)需要修改参数

If the left stroke needs to be changed:

CSS

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

The specifics are not listed one by one.

Use linear to create complex border effects
In addition, I saw a method on the Internet to use the linear-gradient attribute to create a gorgeous border effect. First, the code is given. You can check the effect on your computer:

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,那么这种边框效果是怎么实现的呢?

The general idea is that we first define a white p, and then define a The white square is a larger circle with a colored p. Overlap the two and let the white p cover the colored p to achieve the effect of a border.
There are many css knowledge points used here.
1. :before pseudo-class
From the above code, we can see that we actually define a :before pseudo-class in the defined white p, and put all the styles of the colored squares here. This is because using the :before definition can make positioning more convenient. Just adjust top and left to the width of the border. At the same time, the two become a whole.
2. Linear-gradient
Many browsers now support this css method. This method has the following three usage modes:
①background:linear-gradient(top,#fff,#000)
This code means that it starts from white at the top and transitions to black at the bottom.
②background:linear-gradient(top,right,#fff,#000)
This code passes two parameters about the position, top and right, which means starting from the upper right and changing to the lower left. Other reasons Same as the first one.
③background:linear-gradient(30deg,#fff,#000)
The first parameter of this code passes the angle. In fact, the principle and position are the same, but it does not change from the standard position. . So what is the corresponding relationship between angle and position? According to experiments, 0 degrees corresponds to bottom, 90 degrees corresponds to left, 180 degrees corresponds to top, and 360 degrees corresponds to right.
The above is the code and explanation for using the linear method to achieve gorgeous borders. You can implement it locally to discover more novel combination implementation methods.

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

How to use CSS3 to intercept strings

Examples of using pure CSS to achieve dynamic text effects

The above is the detailed content of How to use CSS3 linear gradient to create a border. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn