Home  >  Article  >  Web Front-end  >  Sample code sharing for making borders using CSS3's linear gradient

Sample code sharing for making borders using CSS3's linear gradient

高洛峰
高洛峰Original
2017-03-09 17:16:541787browse

Linear-gradient lines are quite powerful for making borders, especially using their strokes to create some copied border effects. Here we will take a look at the sample code sharing of using CSS3 linear gradient linear-gradient to make borders.

Generally, the stroke line of the app border is less than one pixel, so I directly traced the 1px border as usual. Although it is 1px, the result is completely different from the stroke in the app, "thick" , so I searched online to see if there was a solution, but I couldn’t find 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 by myself.
So I used the previous method to think of linear-gradient

.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;}
<ul class="line">
    <li>linear-gradient</li>
    <li>linear-gradient</li>
    <li>linear-gradient</li>
</ul>

OK, it’s out again, but it’s still a little flawed. Then the problem comes, which is to change the stroke. The position (left, top, right, bottom) needs to modify the parameters

For example, the left stroke needs to be changed:

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

The specific ones 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:

<!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>


As you can see from the code, we actually do not use borders. So how is this border effect achieved?
The general idea is that we first define a white p, and then define a colored p that is a circle larger than a white square. 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 detailed content of Sample code sharing for making borders using CSS3's linear gradient. 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