Maison  >  Questions et réponses  >  le corps du texte

Créer une bordure dégradée avec un rayon de bordure

<p>J'ai le CSS suivant : </p> <pre class="brush:php;toolbar:false;">a.btn.white-grad { arrière-plan : $lgris ; couleur : #313149 !important ; bordure : 1px solide #000 ; border-image-source : gradient-linéaire (à droite, #9c20aa, #fb3570) ; bordure-image-tranche : 20 ; flotteur : gauche ; @include taille de police (26); marge : 75px 0 ; }</pré> <p>L'ajout de <code>border-radius: 5px</code> ne semble avoir aucun effet. Je pense que c'est parce que j'utilise un dégradé de bordure... Existe-t-il un moyen d'obtenir le rayon de bordure souhaité de 5 pixels ? </p>
P粉930448030P粉930448030455 Il y a quelques jours428

répondre à tous(2)je répondrai

  • P粉541565322

    P粉5415653222023-08-14 15:04:39

    2023 - Élément unique, pas de pseudo-éléments, pas de SVG, pas de masques.

    Je ne peux pas en être responsable, je l'ai vu sur un site internet (j'ai oublié le nom du site et je ne le trouve pas).

    • C'est juste un bouton ordinaire avec des coins arrondis et un fond dégradé
    • Il utilise un insetbox-shadow pour remplir le blanc intérieur
    • Il a une bordure de 2 pixels et est en fait transparent, donc les bords du bouton apparaissent à travers


    body {
      background: aliceblue;
    }
    
    .gradient-border {  
      border-radius: 24px;
      padding: 6px 12px;
      background-image: linear-gradient(90deg, red 0%, blue 100%);
      /* 填充内部白色 */
      background-origin: border-box;
      box-shadow: inset 0 1000px white;
      /* 透明边框,所以按钮的边缘可以透过来显示 */
      border: 2px solid transparent;
    }
    <button class="gradient-border">Hello</button>


    répondre
    0
  • P粉066224086

    P粉0662240862023-08-14 09:22:15

    2021 : Si vous souhaitez de la transparence, je vous recommande d'utiliser la méthode du masque CSS car le support est plutôt bon maintenant


    Vous ne pouvez pas utiliser border-radius。这里有另一个想法,你可以依赖多个背景并调整background-clip dans les dégradés :


    .white-grad {
      background: 
        linear-gradient(#ccc 0 0) padding-box, /*这是你的灰色背景*/
        linear-gradient(to right, #9c20aa, #fb3570) border-box;
      color: #313149;
      padding: 10px;
      border: 5px solid transparent;
      border-radius: 15px;
      display: inline-block;
      margin: 75px 0;
    }
    <div class="white-grad"> 这里放置一些文字</div>
    
    <div class="white-grad"> 这里放置一些很长很长的文字</div>
    
    <div class="white-grad"> 这里放置一些很长很长的文字<br>这里放置一些很长的文字</div>

    répondre
    0
  • Annulerrépondre