Dans le but de reproduire une conception graphique à l'aide de CSS, un utilisateur a rencontré des difficultés pour obtenir une mise en page réactive avec une esthétique souhaitable. qualités. La conception originale comporte un élément asymétrique avec une bordure arrondie, et l'approche CSS actuelle de l'utilisateur implique deux éléments pour obtenir le résultat souhaité.
Le code de l'utilisateur implique la création d'un élément avant pour un sommet arrondi et un effet d'inclinaison, et un élément après pour l'inclinaison latérale. Cependant, cette approche pose des limites en matière de réactivité.
Pour résoudre ce problème, on peut opter pour une approche CSS simplifiée qui utilise un seul élément et s'appuie sur les propriétés CSS skew et border-radius pour obtenir l'effet souhaité.
L'implémentation CSS révisée est la suivante :
<code class="css">.header { border-top: 20px solid blue; height:100px; position: relative; overflow: hidden; } .header:before, .header:after { content: ""; vertical-align:top; display: inline-block; transform-origin: top right; transform: skew(-40deg); } .header:before { height: 100%; width: 50%; border-radius: 0 0 20px 0; background: blue; } .header:after { height: 20px; width: 20px; margin-left:-1px; background: radial-gradient(circle at bottom right, transparent 68%, blue 73%); }</code>
Avec cette approche, un seul élément est créé et stylisé à l'aide des propriétés d'inclinaison et de bordure-radius. L'élément before crée l'arrière-plan bleu asymétrique et l'élément after ajoute la bordure intérieure arrondie à l'aide d'un dégradé radial. Cette approche simplifiée permet une plus grande réactivité et flexibilité.
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!