Maison  >  Article  >  interface Web  >  Comment obtenir un effet de perspective en utilisant CSS

Comment obtenir un effet de perspective en utilisant CSS

不言
不言original
2018-06-21 17:32:493217parcourir

Cet article n'est qu'un simple test, son but est d'inspirer les autres. Nous ne nous soucions pas de la praticité de cette méthode, mais elle peut au moins nous donner un moyen de résoudre le problème. J'espère que cet article pourra vous être utile.

J'ai eu l'idée aujourd'hui d'utiliser le CSS pour obtenir l'effet de perspective. Au début, j'ai pensé à notre méthode commune d'ajout d'effets d'ombre, qui est obtenue en utilisant plusieurs ps via offset, mais cela nécessite beaucoup de ps, ce qui n'est pas idéal. Ensuite, j'ai pensé à une propriété du CSS : border, qui peut produire un effet diagonal à la jonction des bordures. Ceci peut être réalisé avec deux p. Examinons d'abord l'effet final, puis analysons le processus de mise en œuvre.

Tout d'abord, regardons comment la bordure génère l'effet diagonal. Ajoutez le code suivant en tête de votre code HTML, et vous verrez un tel effet.

.border{width:0;height:0;border-width:50px;border-color:#f00 #0f0 #00f #000;border-style:solid;}

Avec la fondation ci-dessus, nous pouvons utiliser deux ps supplémentaires pour obtenir l'effet de perspective.

1. Le code html est le suivant :

<p class="perspective-outer">
 <p class="perspective-r"></p>
 <p class="perspective-b"></p>
 <p class="perspective-inner">透视效果元素</p>
</p>

2. .perspective- outside définit la hauteur et la largeur et les positionne relativement pour garantir que les zones de perspective à droite et en dessous peuvent être positionnées aux positions correspondantes. Les valeurs de hauteur et de largeur sont la hauteur de l'élément pour obtenir la perspective. effet plus la distance de perspective correspondante. .perspective-r n'a besoin que de définir la valeur de hauteur, et sa valeur est la hauteur de .perspective-outer moins border-top .perspective-b n'a besoin que de définir la valeur de largeur, et sa valeur est la largeur de .perspective-. extérieur moins bordure gauche. Les valeurs de largeur de border-top de .perspective-r et border-left de .perspective-b déterminent l'angle de perspective. Les valeurs de largeur de border-left de .perspective-r et border-top de .perspective-b déterminent la distance de perspective. Parmi eux, la couleur de la bordure supérieure de .perspective-r et de la bordure gauche de .perspective-b est la couleur d'arrière-plan de l'élément parent. L'élément parent de ma page de test ici est body, donc il est blanc.

.perspective-outer{
 position:relative;
 width:170px;/*要实现透视效果元素的宽度+透视距离*/
 height:140px;/*要实现透视效果元素的高度+透视距离*/
}
.perspective-inner{
 border:1px solid #f60;
 height:118px;
 width:148px;
 background-color:#fff;
}
.perspective-r,
.perspective-b{
 position:absolute;
 width:0;
 height:0;
}
.perspective-r{
 right:0;
 height:100px;/*要实现透视效果元素的高度(120px) - (border-top:20px)*/
 border-left:20px solid #000;/*右边透视距离*/
 border-top:20px solid #fff;/*下边透视距离*/
}
.perspective-b{
 bottom:0;
 width:150px;/*最外元素的宽度(170px) - border-left*/
 border-left:20px solid #fff;
 border-top:20px solid #000;
}

3. Post-scriptum

Cet article n'est qu'un simple test, et son but est d'inspirer les autres. Nous ne nous soucions pas de la praticité de cette méthode, mais elle peut au moins nous donner un moyen de résoudre le problème. J'espère que cet article pourra vous être utile. Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment utiliser CSS3 pour obtenir l'effet de lueur dégradé de couleur de la zone de saisie

Comment utiliser CSS3 pour créer une simple image de cube translucide 3D


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