Maison >interface Web >tutoriel CSS >Comment pouvez-vous utiliser CSS Clip Path pour créer des formes personnalisées et des régions de coupure?
CSS clip-path
vous permet de créer des formes personnalisées et des régions de découpage pour les éléments HTML en spécifiant un chemin qui définit la zone visible de l'élément. Tout ce qui en dehors de ce chemin est coupé et caché. Vous y parvenez en attribuant une valeur à la propriété clip-path
. Cette valeur peut être l'une des nombreuses fonctions, chacune offrant différentes façons de définir le chemin d'écrêtage.
Les fonctions les plus courantes sont:
inset()
: crée une région de coupure rectangulaire insendi des bords de l'élément. Il faut quatre valeurs représentant le haut, la droite, le bas et les décalages gauche. Par exemple, clip-path: inset(10px 20px 30px 40px);
Crée un encart rectangulaire 10px en haut, 20px de la droite, 30px par le bas et 40px de la gauche.circle()
: crée une région d'écrêtage circulaire. Il faut soit un rayon ou une définition de cercle spécifiant le centre et le rayon. clip-path: circle(50px);
Crée un cercle avec un rayon de 50px centré sur l'élément. clip-path: circle(50px at 50px 50px);
Crée un cercle avec un rayon de 50px centré à 50px, 50px.ellipse()
: similaire à circle()
, mais crée une région de découpage elliptique. Il faut des rayons ou une définition d'ellipse spécifiant le centre et les rayons. clip-path: ellipse(50px 30px);
Crée une ellipse avec des rayons de 50px et 30px centrés sur l'élément. clip-path: ellipse(50px 30px at 75px 50px);
Crée une ellipse avec des rayons de 50px et 30px centrés à 75px, 50px.polygon()
: Crée une région d'écrêtage polygonale. Il faut une liste de coordonnées séparées par des virgules définissant les sommets du polygone. Par exemple, clip-path: polygon(0 0, 100% 0, 50% 100%, 0 100%);
crée un triangle. Les coordonnées sont relatives aux dimensions de l'élément.path()
: offre le plus de flexibilité, vous permettant de définir des formes complexes à l'aide des données de chemin SVG. Cela nécessite de comprendre la syntaxe du chemin SVG, mais il permet pratiquement toutes les formes imaginables. Par exemple, clip-path: path("M0,0 H100 V100 H0 Z");
crée un carré. La propriété clip-path
peut également utiliser des URL pour référencer les fichiers SVG externes contenant la définition du chemin de découpage. Ceci est utile pour des formes complexes définies dans un fichier séparé.
CSS clip-path
offre un moyen puissant de créer des conceptions visuellement intéressantes et engageantes sans compter sur les images. Certains cas d'utilisation courants comprennent:
clip-path
à une image rectangulaire pour obtenir la forme souhaitée.clip-path
pour révéler uniquement la partie souhaitée.clip-path
peut être utilisé pour créer des structures de mise en page inhabituelles, comme des sections de forme irrégulière ou des éléments qui se chevauchent.clip-path
peut être utilisé pour créer des conceptions réactives où les formes s'adaptent à différentes tailles d'écran.overflow
et background-image
? clip-path
interagit de manière intéressante avec d'autres propriétés CSS:
overflow
: la propriété overflow
détermine comment le contenu qui déborde son conteneur est géré. Si un élément a un clip-path
appliqué, le contenu coupé par le chemin est effectivement masqué, quel que soit le paramètre overflow
. Cependant, la propriété overflow
affectera toujours le contenu en dehors de la région coupée si elle déborde les limites de l'élément.background-image
: l' background-image
est également coupée par le clip-path
. Seule la partie de l'image d'arrière-plan dans le chemin défini sera visible. Cela permet de créer des effets d'arrière-plan intéressants où seule une partie de l'image est montrée. L'arrière-plan respectera la forme du clip-path
.border
: La frontière n'est pas coupée par le clip-path
. La bordure sera dessinée autour de la limite rectangulaire d'origine de l'élément, pas la forme coupée. Si vous voulez une bordure qui suit la forme coupée, vous devrez utiliser une technique différente, comme un pseudo-élément avec une couleur et une forme de fond assorties. Illustrons avec quelques exemples utilisant un élément <div> avec une classe de "forme":<pre class="brush:php;toolbar:false"> <code class="html"><div class="shape"></div> <div class="shape circle"></div> <div class="shape polygon"></div> <div class="shape inset"></div></code></pre>
<pre class="brush:php;toolbar:false"> <code class="css">.shape { width: 150px; height: 150px; background-color: lightblue; margin: 20px; } .shape.circle { clip-path: circle(50% at 50% 50%); /* Circle */ } .shape.polygon { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); /* Square */ } .shape.inset { clip-path: inset(20px 10px 30px 40px); /* Inset Rectangle */ } .shape.path{ clip-path: path("M0,0 H100 V100 H0 Z"); /*Square using path()*/ }</code></pre>
<p> Ce code démontre différentes fonctions <code>clip-path
. La classe .circle
crée un cercle, .polygon
crée un carré, .inset
crée un encadré rectangulaire à partir des bords, et un autre exemple de carré pourrait être créé en utilisant path()
. N'oubliez pas d'ajuster les valeurs pour personnaliser les formes à vos besoins. Vous pouvez explorer d'autres fonctions et leurs paramètres pour créer des formes plus complexes. N'oubliez pas d'inspecter toujours vos résultats dans les outils de développeur du navigateur pour affiner les formes et les positions.
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!