Maison interface Web tutoriel CSS Explication détaillée de la façon d'implémenter plusieurs bordures en CSS3

Explication détaillée de la façon d'implémenter plusieurs bordures en CSS3

Mar 09, 2017 pm 05:36 PM

Le box-shadow de CSS3 est vraiment puissant pour créer plusieurs bordures. C'est également l'objectif de cet article d'expliquer en détail la méthode d'implémentation de plusieurs bordures en CSS3. Mais avant cela, jetons un œil à la méthode traditionnelle. avec une meilleure compatibilité :

Méthode 1 : p imbrication pour obtenir plusieurs bordures.

Rendu :
Explication détaillée de la façon dimplémenter plusieurs bordures en CSS3

code html

<p id="outer">
    <p id="inner">p嵌套实现多重边框</p>
</p>
Copier après la connexion


code css

#outer {   
    width: 100px;   
    height: 100px;   
    background-color: bisque;   
    border: 10px solid brown;   
    position: relative;   
}   

#inner {   
    width: 84px;   
    height: 84px;   
    border: 8px solid blue;   
}   
/*#outer,
#inner {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}*/
Copier après la connexion


Inconvénients : Il peut ne pas être possible de modifier la structure ou le coût de modification de la structure HTML est élevé lorsque plusieurs ps sont définis avec des coins arrondis, les frontières ne peuvent pas s’adapter parfaitement. Rendus multi-bordures arrondis :
Explication détaillée de la façon dimplémenter plusieurs bordures en CSS3

Méthode 2 : Utilisez le décalage de contour du contour pour obtenir plusieurs bordures.
Si nous avons seulement besoin de dessiner deux couches de bordures, nous pouvons également utiliser le contour. Le contour est un calque situé à l'extérieur de la bordure, ce qui correspond au principe de la bordure. En définissant le style de contour, vous pouvez définir un autre calque de bordure en dehors de la bordure.
Cependant, il convient de noter que la bordure définie par l'attribut outline ne changera pas avec le changement du style de bordure de l'élément interne. En d’autres termes, si la bordure de l’élément a des coins arrondis, la bordure la plus extérieure dessinée par le contour est toujours rectangulaire. Il s’agit d’un défaut des bordures de dessin de contour.
Rendu :
Explication détaillée de la façon dimplémenter plusieurs bordures en CSS3

code html

<p id="outline">outlie实现多重边框</p>
Copier après la connexion


code css

#outline {   
    width: 84px;   
    height: 84px;   
    border: 8px solid blue;   
    /*-webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;*/
    outline: 10px solid brown;   
    outline-offset: 0px;   
    /*border和outline之间的距离*/
    margin: 20px;   
    /*因为outline不影响布局,使用margin给边框腾位置*/
}
Copier après la connexion


Avantages : Il est similaire à une bordure et peut être défini sur différents types de lignes, tels que des lignes pointillées et des lignes pleines.

Inconvénients : le contour n'affecte pas la mise en page, vous devez utiliser la marge pour faire de la place à la bordure. pour éviter qu'il soit recouvert par d'autres éléments. Si le conteneur lui-même a des coins arrondis, le trait ne peut pas s'adapter complètement aux coins arrondis. Le rendu est le suivant :
Explication détaillée de la façon dimplémenter plusieurs bordures en CSS3

Méthode 3 : Utiliser la projection externe de l'ombre de la boîte pour obtenir plusieurs. frontières.
L'attribut box-shadow peut définir l'ombre du modèle de boîte. Mais en fait, il a aussi pour fonction de fixer des frontières.
box-shadow peut transmettre cinq paramètres. Les deux premiers paramètres représentent le décalage de la projection, le troisième paramètre représente le degré de flou de la projection, le quatrième paramètre représente l'expansion de la projection et le dernier paramètre représente la couleur. de la projection. Cependant, nous utilisons rarement le quatrième paramètre. L'utilisation du quatrième paramètre ici permet d'agrandir la projection. En définissant une valeur plus appropriée, l'effet de la bordure peut être simulé.
De même, l'attribut box-shadow peut transmettre une liste de plusieurs ombres, séparées par ",". Par conséquent, tant que nous définissons une liste fantôme et augmentons progressivement la valeur de son paramètre d'expansion, nous pouvons dessiner l'effet de plusieurs bordures.
Rendu :
Explication détaillée de la façon dimplémenter plusieurs bordures en CSS3

code html

<p id="boxShadow">boxshadow实现多重边框(外投影)</p>
Copier après la connexion


code css

#boxShadow {   
    margin: 40px;   
    /*因为box-shadow不影响布局,使用margin给边框腾出位置*/
    width: 84px;   
    height: 84px;   
    border: 8px solid blue;   
    -webkit-border-radius: 5px;   
    -moz-border-radius: 5px;   
    border-radius: 5px;   
    -webkit-box-shadow: 0 0 0 10px brown;   
    box-shadow: 0 0 0 10px brown;   
    /*参数分别为:水平偏移量、垂直偏移量、模糊距离、向外扩展距离和投影颜色*/
}
Copier après la connexion


Avantages : plusieurs coins arrondis s'emboîtent parfaitement en même temps, vous pouvez également recevoir une liste et définir plusieurs projections (c'est-à-dire des bordures) en même temps ; Son effet d'expansion est basé sur la forme de l'élément lui-même. Si l'élément est un rectangle, il se développera en un rectangle plus grand ; si l'élément a des coins arrondis, il se développera également en coins arrondis.

Inconvénients : attributs CSS3, mauvaise compatibilité ; box-shadow n'affecte pas la mise en page. Si la position relative de cet élément et d'autres éléments est importante, vous devez utiliser des marges et d'autres méthodes pour ajouter de l'espace supplémentaire pour ceux-ci. "Border" fait de la place pour éviter qu'il ne soit recouvert par d'autres éléments.

Remarque : l'utilisation de l'ombre en ligne (c'est-à-dire que le paramètre ajouté box-shadow est encadré, la valeur par défaut est l'ombre extérieure lorsqu'elle n'est pas définie) semble être un meilleur choix. Étant donné que les ombres portées en ligne permettent à l'ombre portée d'apparaître à l'intérieur de l'élément, il est plus facile de définir un remplissage pour laisser de la place à plusieurs bordures à l'intérieur de l'élément.

Méthode 4 : Utilisez la projection intérieure de l'ombre de la boîte pour obtenir plusieurs bordures. (Recommandé)

Rendu :
Explication détaillée de la façon dimplémenter plusieurs bordures en CSS3

code html

<p id="moreboxShadow">boxshadow实现多重边框(内投影)</p>
Copier après la connexion


code css

/*使用box-shadow一次性设置多个边框,并且使用内嵌投影*/
#moreboxShadow {   
    width: 120px;   
    height: 120px;   
    border: 8px solid blue;   
    /*注意:向外扩张的距离要每次累加;内嵌投影即添加参数为inset,该参数可选,当不设置时即为外投影*/
    -webkit-box-shadow: inset 0 0 0 10px brown, inset 0 0 0 20px yellow, inset 0 0 0 30px green;   
    box-shadow: inset 0 0 0 10px brown, inset 0 0 0 20px yellow, inset 0 0 0 30px green;   
    padding: 30px;   
    /*设置内边距,为box-shadow添加的添加的边框疼位置,这样就不会影响元素之间的位置*/
}
Copier après la connexion


Avantages : L'ombre en ligne permet à l'ombre d'apparaître à l'intérieur de l'élément, et la définition du remplissage laisse de la place à plusieurs bordures à l'intérieur de l'élément, ce qui le rend plus facile à gérer.

Inconvénients : attributs CSS3, mauvaise compatibilité

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Construire une application Ethereum à l'aide de Redwood.js et de la faune Construire une application Ethereum à l'aide de Redwood.js et de la faune Mar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

Créer votre propre bragdoc avec Eleventy Créer votre propre bragdoc avec Eleventy Mar 18, 2025 am 11:23 AM

Quelle que soit le stade dans lequel vous vous trouvez en tant que développeur, les tâches que nous effectuons - qu'elles soient grandes ou petites - ont un impact énorme dans notre croissance personnelle et professionnelle.

Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Apr 02, 2025 pm 06:17 PM

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Un peu sur CI / CD Un peu sur CI / CD Apr 02, 2025 pm 06:21 PM

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

Comparaison des navigateurs pour une conception réactive Comparaison des navigateurs pour une conception réactive Apr 02, 2025 pm 06:25 PM

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

Cartes empilées avec un positionnement collant et une pincée de sass Cartes empilées avec un positionnement collant et une pincée de sass Apr 03, 2025 am 10:30 AM

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

See all articles