Maison interface Web js tutoriel Comment dessiner des triangles et des parallélogrammes avec CSS

Comment dessiner des triangles et des parallélogrammes avec CSS

Nov 18, 2017 pm 05:09 PM
css parallélogramme

Récemment, j'ai vu de nombreux tutoriels sur Internet vous expliquant comment utiliser CSS pour dessiner des graphiques. Aujourd'hui, je vais vous résumer comment utiliser des feuilles de style CSS pour dessiner des triangles et des parallélogrammes. Ceux qui sont intéressés peuvent l’étudier en profondeur.

La première méthode : Utiliser la bordure

Un rectangle pour joindre deux triangles pour enfin créer un parallélogramme. Pourquoi des triangles peuvent-ils être générés à l’aide de bordures ? Jetons d'abord un coup d'œil à une image :

Après avoir regardé le processus de changement des trois petites formes de l'image, vous devriez déjà en comprendre la moitié. En fait, le piratage ne nécessite que deux conditions pour créer un triangle. Premièrement, la longueur et la largeur de l'élément lui-même sont égales à 0. Deuxièmement, les parties inutiles sont masquées via border-color. Grâce à une méthode similaire, vous pouvez également créer des trapèzes. Les codes des trois formes de l'image ci-dessus sont les suivants. (Vous trouverez ci-joint un exemple de CodePen, http://codepen.io/jerryzou/pen/mJYJym)

#first {
  width: 20px;
  height: 20px;
  border-width: 10px;
  border-style: solid;
  border-color: red green blue brown;
}
 
#second {
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: red green blue brown;
}
 
#third {
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: red transparent transparent transparent;
}
Copier après la connexion


L'étape suivante consiste à réfléchir à la façon d'épisser un parallélogramme . Dans la méthode des bordures, il se compose de trois parties, à savoir le triangle gauche, le rectangle et le triangle droit. Il serait trop fastidieux de créer trois éléments à chaque fois qu'un parallélogramme est dessiné, donc les pseudo-éléments :before et :after sont un bon choix ici. Obtenons cet effet :

Comment dessiner des triangles et des parallélogrammes avec CSS

Afin d'assembler de manière transparente des triangles et des rectangles, plusieurs attributs doivent être cohérents, utilisez donc quelque chose comme Less, Sass, Stylus et autres Les préprocesseurs CSS faciliteront la maintenance de ce code. La version Scss du code est donnée ci-dessous. (Ci-joint le lien CodePen, http://codepen.io/jerryzou/pen/ZGNGWZ?editors=110)

//三角形的宽高
$height: 24px;
$width: 12px;
 
//对平行四边形三部分的颜色进行赋值
@mixin parallelogram-color($color) {
  background: $color;
  &:before { border-color: transparent $color $color transparent; }
  &:after { border-color: $color transparent transparent $color; }
}
 
//单个三角形的样式
@mixin triangle() {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  border-style: solid;
  border-width: $height/2 $width/2;
  top: 0;
}
 
//平行四边形的样式
.para {
  display: inline-block;
  position: relative;
  padding: 0 10px;
  height: $height;
  line-height: $height;
  margin-left: $width;
  color: #fff;
 
  &:after {
    @include triangle();
    right: -$width;
  }
 
  &:before {
    @include triangle();
    left: -$width;
  }
 
  @include parallelogram-color(red);
}
Copier après la connexion

Il est à noter que si la pente du triangle fixée par $height et $width est trop Petit ou trop grand peut provoquer un rendu irrégulier, vous devez donc tester les effets visuels de différentes largeurs et hauteurs lors de son utilisation.


La deuxième méthode : utiliser la transformation

La méthode d'utilisation de la transformation pour réaliser un parallélogramme est ce que j'ai vu lorsque je faisais mes achats. comme ceci :

Comment dessiner des triangles et des parallélogrammes avec CSS

Après l'avoir vu, j'ai trouvé que c'était incroyable. Il s'avère qu'il ne peut avoir que le contour extérieur d'un parallélogramme. (Parce que la méthode ne permet de créer que des parallélogrammes avec des effets de remplissage) Elle est très simple à mettre en œuvre, principalement à l'aide de transform : skew(...).

<style>
.city {
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #44a5fc;
  color: #333;
  transform: skew(-20deg);
}
</style>
 
<div class="city">上海</div>
Copier après la connexion

Nous avons donc obtenu cet effet :

Comment dessiner des triangles et des parallélogrammes avec CSS

Vous devez penser à cela lorsque vous voyez la photo :

Comment dessiner des triangles et des parallélogrammes avec CSS

Ne vous inquiétez pas, nous avons effectivement déformé l'ensemble du div, provoquant l'inclinaison du texte au milieu, et ce n'est évidemment pas l'effet souhaité. Nous devons donc ajouter un élément interne et déformer à l'envers l'élément interne pour obtenir l'effet souhaité :

Comment dessiner des triangles et des parallélogrammes avec CSS

Le code d'implémentation est le suivant, ci-joint un CodePen exemple (http://codepen.io/jerryzou/pen/BNeNwV?editors=110)

<style>
.city {
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #44a5fc;
  color: #333;
  transform: skew(-20deg);
}
 
.city div {
  transform: skew(20deg);
}
</style>
 
<div class="city">
  <div>上海</div>
</div>
Copier après la connexion

Résumé

La première méthode utilise le hack d'attribut border pour créer un triangle, Et en épissant trois éléments, un parallélogramme est finalement obtenu tandis que la deuxième méthode utilise transform: skew pour obtenir un parallélogramme ; Dans l’ensemble, la deuxième méthode est beaucoup plus petite que la première et facile à comprendre. Le seul inconvénient est qu'il ne peut pas construire de trapèzes comme ceux utilisés dans la pagination de ce site.

J'espère que cet article sera utile à tout le monde. En fait, le même principe s'applique. Des carrés, des rectangles et certaines figures équilatérales peuvent également être réalisés en utilisant cette méthode.

Lecture recommandée :

Comment créer QQ Penguin avec html et css


Utilisez CSS 3 pour créer une ombre longue


css pour obtenir un visage de chat en mouvement

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Que signifie l'espace réservé en vue Que signifie l'espace réservé en vue May 07, 2024 am 09:57 AM

Dans Vue.js, l'attribut placeholder spécifie le texte d'espace réservé de l'élément d'entrée, qui s'affiche lorsque l'utilisateur n'a pas saisi de contenu, fournit des conseils ou des exemples de saisie et améliore l'accessibilité du formulaire. Son utilisation consiste à définir l'attribut placeholder sur l'élément d'entrée et à personnaliser l'apparence à l'aide de CSS. Les meilleures pratiques consistent à être pertinent par rapport à la contribution, à être court et clair, à éviter le texte par défaut et à prendre en compte l'accessibilité.

Que signifie span en js Que signifie span en js May 06, 2024 am 11:42 AM

La balise span peut ajouter des styles, des attributs ou des comportements au texte. Elle est utilisée pour : ajouter des styles, tels que la couleur et la taille de la police. Définissez des attributs tels que l'identifiant, la classe, etc. Comportements associés tels que clics, survols, etc. Marquez le texte pour un traitement ultérieur ou une citation.

Que signifie rem en js Que signifie rem en js May 06, 2024 am 11:30 AM

REM en CSS est une unité relative par rapport à la taille de la police de l'élément racine (html). Il présente les caractéristiques suivantes : relative à la taille de la police de l'élément racine, non affectée par l'élément parent. Lorsque la taille de la police de l'élément racine change, les éléments utilisant REM s'ajusteront en conséquence. Peut être utilisé avec n’importe quelle propriété CSS. Les avantages de l'utilisation de REM incluent : Réactivité : gardez le texte lisible sur différents appareils et tailles d'écran. Cohérence : assurez-vous que les tailles de police sont cohérentes sur l’ensemble de votre site Web. Évolutivité : modifiez facilement la taille de police globale en ajustant la taille de police de l'élément racine.

Comment introduire des images dans vue Comment introduire des images dans vue May 02, 2024 pm 10:48 PM

Il existe cinq façons d'introduire des images dans Vue : via une URL, une fonction require, un fichier statique, une directive v-bind et une image d'arrière-plan CSS. Les images dynamiques peuvent être gérées dans les propriétés calculées ou les écouteurs de Vue, et des outils fournis peuvent être utilisés pour optimiser le chargement des images. Assurez-vous que le chemin est correct sinon une erreur de chargement apparaîtra.

Qu'est-ce qu'un nœud dans js Qu'est-ce qu'un nœud dans js May 07, 2024 pm 09:06 PM

Les nœuds sont des entités du DOM JavaScript qui représentent des éléments HTML. Ils représentent un élément spécifique de la page et peuvent être utilisés pour accéder et manipuler cet élément. Les types de nœuds courants incluent les nœuds d'élément, les nœuds de texte, les nœuds de commentaires et les nœuds de document. Grâce aux méthodes DOM telles que getElementById(), vous pouvez accéder aux nœuds et opérer sur eux, notamment en modifiant les propriétés, en ajoutant/supprimant des nœuds enfants, en insérant/remplaçant des nœuds et en clonant des nœuds. La traversée des nœuds aide à naviguer dans la structure DOM. Les nœuds sont utiles pour créer dynamiquement du contenu de page, la gestion des événements, l'animation et la liaison de données.

Dans quelle langue le plug-in du navigateur est-il écrit ? Dans quelle langue le plug-in du navigateur est-il écrit ? May 08, 2024 pm 09:36 PM

Les plug-ins de navigateur sont généralement écrits dans les langages suivants : Langages front-end : JavaScript, HTML, CSS Langages back-end : C++, Rust, WebAssembly Autres langages : Python, Java

Comment définir des attributs inconnus dans vscode Méthode vscode pour définir des attributs inconnus Comment définir des attributs inconnus dans vscode Méthode vscode pour définir des attributs inconnus May 09, 2024 pm 02:43 PM

1. Tout d'abord, ouvrez l'icône des paramètres dans le coin inférieur gauche et cliquez sur l'option des paramètres. 2. Ensuite, recherchez la colonne CSS dans la fenêtre sautée. 3. Enfin, remplacez l'option déroulante dans le menu Propriétés inconnues par le bouton d'erreur. .

Que font ref et id dans vue ? Que font ref et id dans vue ? May 02, 2024 pm 08:42 PM

Dans Vue.js, ref est utilisé en JavaScript pour référencer un élément DOM (accessible aux sous-composants et à l'élément DOM lui-même), tandis que id est utilisé pour définir l'attribut HTML id (peut être utilisé pour le style CSS, le balisage HTML et la recherche JavaScript. ).

See all articles