Propriétés CSS liées à l'interface utilisateur
Cet article explique les propriétés CSS liées à l'interface utilisateur.
Vous pouvez en apprendre davantage sur les propriétés content
, cursor
, pointer-events
et resize
, y compris leurs cas d'utilisation et comment les écrire.
YouTube Video
HTML pour l'aperçu
css-ui.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-ui.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Animation</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>User Inferface Related Properties</h2>
20 </header>
21 <article>
22 <h3>content</h3>
23 <section>
24 <h4>Content Examples</h4>
25 <header><h4>content: "Note: ";</h4></header>
26 <section class="sample-view">
27 <div class="content-note">Solid Red Outline</div>
28 </section>
29 <header><h4>content: " (End)";</h4></header>
30 <section class="sample-view">
31 <div class="content-end">Dashed Blue Outline</div>
32 </section>
33 </section>
34 </article>
35 <article>
36 <h3>cursor</h3>
37 <section>
38 <h4>Cursor Examples</h4>
39 <header><h4>cursor: default</h4></header>
40 <section class="sample-view">
41 <div class="default-cursor">This is the default cursor.</div>
42 </section>
43 <header><h4>cursor: pointer</h4></header>
44 <section class="sample-view">
45 <div class="pointer-cursor">This is the pointer cursor (hand).</div>
46 </section>
47 <header><h4>cursor: text</h4></header>
48 <section class="sample-view">
49 <div class="text-cursor">This is the text cursor (I-bar).</div>
50 </section>
51 <header><h4>cursor: wait</h4></header>
52 <section class="sample-view">
53 <div class="wait-cursor">This is the wait cursor (hourglass).</div>
54 </section>
55 <header><h4>cursor: not-allowed</h4></header>
56 <section class="sample-view">
57 <div class="not-allowed-cursor">This is the not-allowed cursor (prohibited).</div>
58 </section>
59 </section>
60 </article>
61 <article>
62 <h3>pointer-events</h3>
63 <section>
64 <h4>Pointer Events Examples</h4>
65 <header><h4>pointer-events: auto</h4></header>
66 <section class="sample-view">
67 <div class="pointer-events-auto" onclick="document.getElementById('message').innerHTML = 'Auto: This box is clickable!'">
68 Auto (Clickable)
69 </div>
70 </section>
71 <header><h4>pointer-events: none</h4></header>
72 <section class="sample-view">
73 <div class="pointer-events-none" onclick="document.getElementById('message').innerHTML = 'None: This box is not clickable!'">
74 None (Not Clickable)
75 </div>
76 </section>
77 <div id="message">Message Box</div>
78 </section>
79 </article>
80 <article>
81 <h3>resize</h3>
82 <section>
83 <header><h4>resize: both</h4></header>
84 <section class="sample-view">
85 <textarea class="resizable-both">Resizes both horizontally and vertically</textarea>
86 </section>
87 <header><h4>resize: horizontal</h4></header>
88 <section class="sample-view">
89 <textarea class="resizable-horizontal">Resizes horizontally</textarea>
90 </section>
91 <header><h4>resize: vertical</h4></header>
92 <section class="sample-view">
93 <textarea class="resizable-vertical">Resizes vertically</textarea>
94 </section>
95 <header><h4>resize: none</h4></header>
96 <section class="sample-view">
97 <textarea class="non-resizable">Cannot resize</textarea>
98 </section>
99 </section>
100 </article>
101 </main>
102</body>
103</html>
Lié à l'interface utilisateur
Propriété content
1.content-note::before {
2 content: "Note: ";
3 color: red;
4 background-color: steelblue;
5 }
6
7.content-end::after {
8 content: " (End)";
9 color: blue;
10 background-color: lightsteelblue;
11}
La propriété content
est utilisée pour ajouter du contenu aux pseudo-éléments, principalement ::before
ou ::after
. Cette propriété est utilisée pour définir du texte, des images, des compteurs, etc., qui ne sont pas affichés directement à l'intérieur de l'élément. Son rôle principal est de permettre le contrôle du contenu décoratif ou des informations supplémentaires qui ne sont pas écrites directement en HTML via des feuilles de style.
Dans cet exemple, "Note: " est ajouté avant l'élément et "(End)" est ajouté après. Cela utilise les pseudo-éléments ::before
et ::after
respectivement.
Valeurs de la propriété content
1/* Text */
2content: "Hello, world!";
3
4/* Image */
5content: url(image.png);
6
7/* Counter */
8content: counter(item);
9
10/* Attribute */
11content: attr(title);
12
13/* None */
14content: none;
La propriété content
peut prendre les valeurs suivantes :.
- Texte : Spécifiez directement en entourant la chaîne avec des
""
. Ajoute du texte. - Image : Utilisez la fonction
url()
pour insérer des images. - Compteur : Utilisez la fonction
counter()
pour afficher des compteurs. - Attribut : Utilisez la fonction
attr()
pour afficher les valeurs des attributs des éléments HTML. Par exemple, vous pouvez afficher l'attributtitle
. - none : Indique qu'aucun contenu ne sera affiché. C'est l'état par défaut.
Notes d'utilisation
- La propriété
content
s'applique uniquement aux pseudo-éléments, et non aux éléments normaux. - Étant donné qu'elle n'est pas ajoutée au DOM, elle ne peut pas être manipulée directement avec JavaScript.
- Elle peut affecter la mise en page, elle est donc couramment utilisée pour afficher des informations décoratives ou supplémentaires.
Exemple
1p::before {
2 content: url(icon.png);
3 margin-right: 5px;
4}
Voici un exemple d'ajout d'une icône avant une balise <p>
.
De cette manière, vous pouvez compléter visuellement le contenu à travers des feuilles de style.
Propriété cursor
1.default-cursor {
2 cursor: default;
3}
4
5.pointer-cursor {
6 cursor: pointer;
7}
8
9.text-cursor {
10 cursor: text;
11}
12
13.wait-cursor {
14 cursor: wait;
15}
16
17.not-allowed-cursor {
18 cursor: not-allowed;
19}
La propriété cursor
est utilisée pour spécifier le type de curseur à afficher lorsque le pointeur de la souris est placé sur un élément. Vous pouvez spécifier différents styles de curseur et elle est souvent appliquée aux éléments interactifs pour améliorer l'expérience utilisateur.
Principaux types de curseur
Les valeurs suivantes peuvent être spécifiées en tant que types de curseur :.
default
- `default` est le curseur flèche normal (le curseur par défaut du navigateur).
pointer
- `pointer` est un curseur en forme de main affiché lorsqu'il est placé sur un lien.
text
- `text` est un curseur en forme de I affiché dans les zones où le texte peut être sélectionné.
move
- `move` est un curseur en forme de croix utilisé lorsqu'un élément peut être déplacé.
crosshair
- `crosshair` est un curseur en forme de réticule pour une sélection précise.
not-allowed
- `not-allowed` est un curseur pour indiquer les régions ou les actions non autorisées.
help
- `help` est un curseur avec un point d'interrogation affiché lorsqu'il est placé sur des éléments pouvant fournir des informations d'aide.
wait
- `wait` est un curseur en forme de sablier ou circulaire représentant un état de traitement.
progress
- `progress` est un curseur représentant une opération en cours. Cependant, il indique que l'utilisateur peut effectuer d'autres opérations.
grab
- `grab` est un curseur pour saisir des éléments déplaçables.
grabbing
- `grabbing` est un curseur indiquant qu'un élément est en train d'être déplacé.
resize
- `resize` est un curseur utilisé lorsqu'une fenêtre ou un élément peut être redimensionné. Il existe différents types selon la direction.
- **`n-resize`** : redimensionner vers le haut.
- **`s-resize`** : redimensionner vers le bas.
- **`e-resize`** : redimensionner vers la droite.
- **`w-resize`** : redimensionner vers la gauche.
- **`ne-resize`** : redimensionner vers le coin supérieur droit.
- **`nw-resize`** : redimensionner vers le coin supérieur gauche.
- **`se-resize`** : redimensionner vers le coin inférieur droit.
- **`sw-resize`** : redimensionner vers le coin inférieur gauche.
Curseur personnalisé
1element {
2 cursor: url('custom-cursor.png'), auto;
3}
Il est également possible de spécifier un curseur personnalisé à l'aide de url()
.
- Dans cet exemple,
custom-cursor.png
est le fichier image pour le curseur. Si cette image n'est pas disponible, le curseur par défaut du navigateur est affiché avecauto
.
Résumé
- La propriété
cursor
spécifie quel curseur doit être affiché lorsque l'utilisateur est sur un élément. - Il existe différents styles de curseurs disponibles selon l'utilisation, et des curseurs personnalisés peuvent également être définis.
- En sélectionnant des styles de curseurs adaptés aux éléments interactifs et opérations restreintes, on peut offrir une interface utilisateur plus conviviale.
Propriété pointer-events
1.pointer-events-auto {
2 pointer-events: auto;
3 background-color: lightblue;
4 cursor: pointer;
5}
6
7.pointer-events-none {
8 pointer-events: none;
9 background-color: lightcoral;
10 cursor: pointer;
11}
La propriété pointer-events
est utilisée pour contrôler comment un élément gère les événements provenant des dispositifs de pointage tels que la souris, l'écran tactile et le stylet. Normalement, lorsqu'un utilisateur clique ou survole un élément, celui-ci reçoit des événements de pointage, mais ce comportement peut être modifié à l'aide de cette propriété.
- Dans la classe
pointer-events-auto
, la propriétépointer-events
est définie surauto
, ce qui permet de traiter les événements de clic et de survol normalement. L'élément est cliquable, donc un message s'affiche lorsqu'il est cliqué. - Dans la classe
pointer-events-auto
, la propriétépointer-events
est définie surnone
, donc l'élément ne reçoit pas d'événements de pointage. Même si la propriétécursor
est définie surpointer
, le curseur de la souris ne change pas, et les autres éléments en dessous deviennent cliquables.
Types de valeurs
- La propriété
pointer-events
spécifie si et comment un élément reçoit des événements de pointage. Vous pouvez spécifier les valeurs suivantes.
auto
auto
est la valeur par défaut, où l'élément reçoit normalement les événements de pointeur.
none
- Lorsque
none
est spécifié, l'élément ne reçoit pas les événements de pointeur. L'élément désactive les interactions telles que cliquer et survoler, mais les autres éléments en dessous peuvent recevoir des événements de pointeur.
visiblePainted
, visibleFill
, visibleStroke
, visible
, painted
, fill
, stroke
, all
, inherit
1pointer-events: visiblePainted;
2pointer-events: visibleFill;
3pointer-events: visibleStroke;
4pointer-events: visible;
5pointer-events: painted;
6pointer-events: fill;
7pointer-events: stroke;
8pointer-events: all;
9pointer-events: inherit;
- Ces valeurs sont principalement utilisées pour les éléments SVG. Chaque valeur contrôle si des parties spécifiques d'un élément (comme le remplissage, le contour, etc.) répondent aux événements de pointeur. Il n'est pas couramment utilisé avec les éléments HTML ordinaires.
Points clés pour l'utilisation
Voici quelques exemples d'utilisation de la propriété pointer-events
.
-
Sélection des éléments que vous souhaitez désactiver
- La valeur
none
est utile pour désactiver temporairement des éléments comme des boutons ou des liens.
- La valeur
-
Utilisation avec des éléments superposés
- Lorsque la propriété
position
est définie surabsolute
ou que des éléments sont superposés à l'aide de la propriétéz-index
, définirpointer-events
surnone
pour l'élément supérieur permet d'envoyer les événements de pointeur à l'élément en dessous.
- Lorsque la propriété
Propriété resize
1.resizable-both {
2 resize: both;
3 overflow: auto;
4 width: 200px;
5 height: 100px;
6 border: 1px solid black;
7}
8
9.resizable-horizontal {
10 resize: horizontal;
11 overflow: auto;
12 width: 200px;
13 height: 100px;
14 border: 1px solid black;
15}
16
17.resizable-vertical {
18 resize: vertical;
19 overflow: auto;
20 width: 200px;
21 height: 100px;
22 border: 1px solid black;
23}
24
25.non-resizable {
26 resize: none;
27 overflow: auto;
28 width: 200px;
29 height: 100px;
30 border: 1px solid black;
31}
La propriété resize
est une propriété CSS qui spécifie dans quelle direction un élément peut être redimensionné par l'utilisateur. En utilisant cette propriété, vous pouvez permettre aux éléments d'être redimensionnés verticalement ou horizontalement en les faisant glisser, ou désactiver complètement le redimensionnement.
Dans cet exemple, la direction dans laquelle une zone de texte peut être redimensionnée est spécifiée en utilisant la propriété resize
.
- Avec
resize: both;
, un élément peut être redimensionné à la fois horizontalement et verticalement. - Avec
resize: horizontal;
, un élément peut uniquement être redimensionné horizontalement. - Avec
resize: vertical;
, un élément peut uniquement être redimensionné verticalement. - Avec
resize: none;
, un élément ne peut pas être redimensionné.
Types de valeurs
- La propriété
resize
reçoit une valeur qui spécifie la direction dans laquelle un élément peut être redimensionné. Vous pouvez spécifier les valeurs suivantes.
none
- Spécifier
none
désactive le redimensionnement de l'élément. C'est la valeur par défaut.
both
- Spécifier
both
permet à l'élément d'être redimensionné à la fois verticalement et horizontalement.
horizontal
- Spécifier
horizontal
permet à l'élément d'être redimensionné uniquement dans la direction horizontale (largeur).
vertical
- Spécifier
vertical
permet à l'élément d'être redimensionné uniquement dans la direction verticale (hauteur).
inherit
- Spécifier
inherit
fait hériter l'élément de la valeur de la propriétéresize
de son parent.
Notes
- Pour rendre un élément redimensionnable, vous devez définir la propriété
overflow
ainsi que la propriétéresize
. Les éléments redimensionnables peuvent nécessiter des barres de défilement, etoverflow: auto
est généralement défini. - Le redimensionnement est généralement utilisé avec des éléments de bloc tels que
div
ettextarea
.
Vous pouvez suivre l'article ci-dessus avec Visual Studio Code sur notre chaîne YouTube. Veuillez également consulter la chaîne YouTube.