Maison  >  Article  >  interface Web  >  Exemple de partage de code pour créer des bordures à l'aide du dégradé linéaire de CSS3

Exemple de partage de code pour créer des bordures à l'aide du dégradé linéaire de CSS3

高洛峰
高洛峰original
2017-03-09 17:16:541764parcourir

Les lignes à dégradé linéaire sont assez puissantes pour créer des bordures, en particulier en utilisant leurs traits pour créer des effets de bordure copiés. Ici, nous allons jeter un œil à l'exemple de partage de code utilisant le dégradé linéaire CSS3 pour créer des bordures. >

Généralement, la ligne de trait de la bordure de l'application fait moins d'un pixel, j'ai donc directement tracé la bordure de 1 px comme d'habitude, même si elle faisait 1 px, le résultat était complètement différent du trait dans l'application, "épais", j'ai donc cherché en ligne s'il y avait une solution, mais je ne l'ai pas trouvée après un certain temps de recherche. Que dois-je faire si la demande ne veut pas être si dure, alors je dois la résoudre. moi-même.

J'ai donc utilisé la méthode précédente pour penser au dégradé linéaire

.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, ça est ressorti, mais c'est encore un peu imparfait, alors voici le problème , c'est-à-dire que pour changer la position du trait (gauche, haut, droite, bas), vous devez modifier les paramètres

Par exemple, le trait gauche doit être modifié :

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

Rien de spécifique. Répertoriés un par un.


Utiliser le linéaire pour créer des effets de bordure complexes
De plus, j'ai vu une méthode sur Internet pour utiliser l'attribut linéaire-gradient pour créer un magnifique effet de bordure. Tout d'abord, le code est donné. Vous pouvez vérifier l'effet sur votre ordinateur :

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


Comme vous pouvez le voir sur le code, nous sommes en fait. Je ne l'ai pas utilisé, alors comment cet effet de frontière est-il obtenu ?

L'idée générale est que l'on définit d'abord un p blanc, puis un p coloré qui est un cercle plus grand qu'un carré blanc. Superposez les deux et laissez le p blanc recouvrir le p coloré pour obtenir l'effet d'une bordure.
De nombreux points de connaissances CSS sont utilisés ici.
1. :before pseudo-class
À partir du code ci-dessus, nous pouvons voir que nous définissons en fait une pseudo-classe :before dans le p blanc défini, et mettons ici tous les styles des carrés colorés. En effet, l'utilisation de la définition :before peut rendre le positionnement plus pratique. Ajustez simplement le haut et la gauche à la largeur de la bordure. En même temps, les deux forment un tout.
2. Linear-gradient
De nombreux navigateurs prennent désormais en charge cette méthode CSS. Cette méthode a les trois modes d'utilisation suivants :
①background:linear-gradient(top,#fff,#000)
La signification de ce code est de passer du blanc en haut au noir en bas.
②background:linear-gradient(top,right,#fff,#000)
Ce code transmet deux paramètres sur la position, en haut et à droite, ce qui signifie commencer par le coin supérieur droit et passer en bas à gauche, autre raisons Identiques à la première.
③background:linear-gradient(30deg,#fff,#000)
Le premier paramètre de ce code passe l'angle En fait, le principe et la position sont les mêmes, mais il ne change pas par rapport à la position standard. . Alors, quelle est la relation correspondante entre l’angle et la position ? D'après les expériences, 0 degré correspond au bas, 90 degrés correspond à la gauche, 180 degrés correspond au haut et 360 degrés correspond à la droite.
Ce qui précède est le code et l'explication de l'utilisation de la méthode linéaire pour obtenir de magnifiques bordures. Vous pouvez l'implémenter localement pour découvrir d'autres méthodes d'implémentation de combinaisons.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn