CSS-egenskaber relateret til brugergrænsefladen
Denne artikel forklarer CSS-egenskaber relateret til brugergrænsefladen.
Du kan lære om egenskaberne content
, cursor
, pointer-events
og resize
, herunder deres anvendelser og hvordan man skriver dem.
YouTube Video
HTML til forhåndsvisning
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>
Relateret til brugergrænsefladen
content
-egenskab
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}
content
-egenskaben bruges til at tilføje indhold til pseudo-elementer, hovedsageligt ::before
eller ::after
. Denne egenskab bruges til at definere tekst, billeder, tællere osv., som ikke vises direkte inde i elementet. Dens hovedrolle er at tillade kontrol over dekorativt indhold eller supplerende information, der ikke er skrevet direkte i HTML, via stylesheets.
I dette eksempel tilføjes "Note: " før elementet, og "(End)" tilføjes efter. Disse bruger pseudo-elementerne ::before
og ::after
henholdsvis.
Værdier for content
-egenskaben
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;
content
-egenskaben kan have følgende værdier:.
- Tekst: Angiv det direkte ved at omslutte strengen med
""
. Tilføjer tekst. - Billede: Brug
url()
-funktionen til at indsætte billeder. - Tæller: Brug
counter()
-funktionen til at vise tællere. - Attribut: Brug
attr()
-funktionen til at vise attributværdier for HTML-elementer. For eksempel kan du vise attributtentitle
. - none: Angiver, at der ikke vil blive vist noget indhold. Dette er standardtilstanden.
Brugsnoter
content
-egenskaben gælder kun for pseudo-elementer, ikke for almindelige elementer.- Da det ikke tilføjes til DOM'en, kan det ikke manipuleres direkte med JavaScript.
- Det kan påvirke layoutet, så det bruges ofte til at vise dekorativ eller supplerende information.
Eksempel
1p::before {
2 content: url(icon.png);
3 margin-right: 5px;
4}
Dette er et eksempel på at tilføje et ikon før et <p>
-tag.
På denne måde kan du visuelt supplere indhold gennem stylesheets.
cursor
-egenskab
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}
cursor
-egenskaben bruges til at specificere typen af markør, der vises, når musemarkøren placeres over et element. Du kan specificere forskellige markørtyper, og det bruges ofte på interaktive elementer for at forbedre brugeroplevelsen.
Primære markørtyper
Følgende værdier kan specificeres som markørtyper:.
default
- `default` er den normale pil-markør (standardmarkøren i browseren).
pointer
- `pointer` er en håndformet markør, der vises, når den placeres over et link.
text
- `text` er en I-stråle-markør, der vises i områder, hvor tekst kan vælges.
move
- `move` er en korsformet markør, der bruges, når et element kan trækkes.
crosshair
- `crosshair` er en sigtekorn-markør til præcist valg.
not-allowed
- `not-allowed` er en markør til områder eller handlinger, der ikke er tilladt.
help
- `help` er en markør med et spørgsmålstegn, der vises, når den placeres over elementer, der kan give hjælpsinformation.
wait
- `wait` er en timeglas- eller cirkulær markør, der repræsenterer en behandlingsstatus.
progress
- `progress` er en markør, der repræsenterer en igangværende operation. Dog angiver den, at brugeren kan udføre andre handlinger.
grab
- `grab` er en markør til at gribe elementer, der kan trækkes.
grabbing
- `grabbing` er en markør, der angiver, at et element bliver trukket.
resize
- `resize` er en markør, der bruges, når et vindue eller element kan ændres i størrelse. Der er forskellige typer afhængigt af retningen.
- **`n-resize`**: ændre størrelse opad.
- **`s-resize`**: ændre størrelse nedad.
- **`e-resize`**: ændre størrelse til højre.
- **`w-resize`**: ændre størrelse til venstre.
- **`ne-resize`**: ændre størrelse til øverst til højre.
- **`nw-resize`**: ændre størrelse til øverst til venstre.
- **`se-resize`**: ændre størrelse til nederst til højre.
- **`sw-resize`**: ændre størrelse til nederst til venstre.
Brugerdefineret markør
1element {
2 cursor: url('custom-cursor.png'), auto;
3}
Det er også muligt at angive en brugerdefineret markør ved hjælp af url()
.
- I dette eksempel er
custom-cursor.png
billedfilen for markøren. Hvis dette billede ikke er tilgængeligt, vises browserens standardmarkør medauto
.
Sammendrag
cursor
-egenskaben angiver, hvilken markør der skal vises, når brugeren er over et element.- Der er forskellige markørtyper tilgængelige afhængigt af brugen, og brugerdefinerede markører kan også sættes.
- Ved at vælge passende markørtyper i henhold til interaktive elementer og begrænsede operationer kan der tilbydes en mere brugervenlig brugergrænseflade.
pointer-events
-egenskaben
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}
pointer-events
-egenskaben bruges til at kontrollere, hvordan et element håndterer hændelser fra pegede enheder som mus, touch og stylus. Normalt, når et element klikkes på eller holdes over af en bruger, modtager det pointer-hændelser, men denne adfærd kan ændres ved hjælp af denne egenskab.
- I klassen
pointer-events-auto
erpointer-events
-egenskaben indstillet tilauto
, hvilket tillader normale klik og hover-hændelser at blive behandlet. Elementet er klikbart, så en besked vises, når det klikkes på. - I klassen
pointer-events-auto
erpointer-events
-egenskaben indstillet tilnone
, så elementet ikke modtager pointer-hændelser. Selv hviscursor
-egenskaben er indstillet tilpointer
, ændres musemarkøren ikke, og andre elementer nedenunder bliver klikbare.
Værdityper
pointer-events
-egenskaben angiver, om og hvordan et element modtager pointer-hændelser. Du kan angive følgende værdier.
auto
auto
er standardværdien, hvor elementet modtager pegerhændelser normalt.
none
- Når
none
er angivet, modtager elementet ikke pegerhændelser. Elementet deaktiverer interaktioner som klik og svævning, men andre elementer nedenunder kan modtage pegerhændelser.
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;
- Disse værdier bruges hovedsageligt til SVG-elementer. Hver værdi styrer, om specifikke dele af et element (som fyld, kontur osv.) reagerer på pegerhændelser. Det bruges ikke almindeligt med almindelige HTML-elementer.
Vigtige punkter for brug
Her er nogle eksempler på, hvordan man bruger pointer-events
-egenskaben.
-
Valg af elementer, du vil deaktivere
none
-værdien er nyttig til midlertidigt at deaktivere elementer som knapper eller links.
-
Brug med overlappende elementer
- Når
position
-egenskaben er sat tilabsolute
, eller elementer er lagdelt ved hjælp afz-index
-egenskaben, gør indstilling afpointer-events
tilnone
på det øverste element det muligt at sende pegerhændelser til elementet nedenunder.
- Når
resize
-egenskab
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}
resize
-egenskaben er en CSS-egenskab, der angiver, i hvilken retning en bruger kan ændre størrelsen på et element. Ved at bruge denne egenskab kan du tillade, at elementer ændres i størrelse lodret eller vandret ved at trække, eller du kan deaktivere størrelsesændring helt.
I dette eksempel angives retningen, hvori en tekstboks kan ændres i størrelse, ved hjælp af resize
-egenskaben.
- Med
resize: both;
kan et element ændres i størrelse både vandret og lodret. - Med
resize: horizontal;
kan et element kun ændres i størrelse vandret. - Med
resize: vertical;
kan et element kun ændres i størrelse lodret. - Med
resize: none;
kan et element ikke ændres i størrelse.
Værdityper
resize
-egenskaben tildeles en værdi, der angiver, i hvilken retning et element kan ændres i størrelse. Du kan angive følgende værdier.
none
- Angivelse af
none
deaktiverer ændring af størrelsen på elementet. Dette er standardværdien.
both
- Angivelse af
both
tillader, at elementet ændres i størrelse i både lodret og vandret retning.
horizontal
- Angivelse af
horizontal
tillader, at elementet kun ændres i størrelse i den vandrette retning (bredde).
vertical
- Angivelse af
vertical
tillader, at elementet kun ændres i størrelse i den lodrette retning (højde).
inherit
- Angivelse af
inherit
får elementet til at arve værdien afresize
-egenskaben fra sin forælder.
Noter
- For at gøre et element justerbart i størrelse, skal du indstille både
overflow
-egenskaben ogresize
-egenskaben. Elementer med justerbar størrelse kan kræve rullebjælker, ogoverflow: auto
anvendes typisk. - Størrelsesjustering anvendes generelt på blokelementer som
div
ogtextarea
.
Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.