CSS-egenskaper relatert til brukergrensesnitt
Denne artikkelen forklarer CSS-egenskaper relatert til brukergrensesnittet.
Du kan lære om egenskapene content
, cursor
, pointer-events
og resize
, inkludert deres bruksområder og hvordan du skriver dem.
YouTube Video
HTML for 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>
Brukergrensesnittrelatert
content
-egenskapen
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
-egenskapen brukes til å legge til innhold i pseudo-elementer, hovedsakelig ::before
eller ::after
. Denne egenskapen brukes til å definere tekst, bilder, tellere osv., som ikke vises direkte i elementet. Dens hovedrolle er å tillate kontroll over dekorativt innhold eller tilleggsinformasjon som ikke er skrevet direkte i HTML, via stilark.
I dette eksempelet legges "Note: " til før elementet, og "(End)" legges til etter. Disse bruker pseudo-elementene ::before
og ::after
henholdsvis.
Verdier for content
-egenskapen
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
-egenskapen kan ha følgende verdier:.
- Tekst: Spesifiser direkte ved å omslutte strengen med
""
. Legger til tekst. - Bilde: Bruk funksjonen
url()
for å sette inn bilder. - Teller: Bruk funksjonen
counter()
for å vise tellere. - Attributt: Bruk funksjonen
attr()
for å vise attributtverdier til HTML-elementer. For eksempel kan du vise attributtettitle
. - none: Angir at ingen innhold skal vises. Dette er standardtilstanden.
Bruksnotater
content
-egenskapen gjelder kun for pseudo-elementer, ikke vanlige elementer.- Siden det ikke legges til i DOM-en, kan det ikke manipuleres direkte med JavaScript.
- Det kan påvirke layouten, så det brukes vanligvis for å vise dekorativ eller tilleggsinformasjon.
Eksempel
1p::before {
2 content: url(icon.png);
3 margin-right: 5px;
4}
Dette er et eksempel på å legge til et ikon foran en <p>
-tagg.
På denne måten kan du visuelt supplere innhold gjennom stilark.
cursor
-egenskapen
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
-egenskapen brukes til å spesifisere typen markør som vises når musepekeren plasseres over et element. Du kan spesifisere ulike markørstiler, og det brukes ofte på interaktive elementer for å forbedre brukeropplevelsen.
Hovedtyper av markører
Følgende verdier kan spesifiseres som markørtyper:.
default
- `default` er den vanlige pilmarkøren (nettleserens standardmarkør).
pointer
- `pointer` er en håndformet markør som vises når den plasseres over en lenke.
text
- `text` er en I-bjelke-markør som vises i områder der tekst kan velges.
move
- `move` er en korsformet markør som brukes når et element kan draes.
crosshair
- `crosshair` er en trådkorsmarkør for presis utvalg.
not-allowed
- `not-allowed` er en markør for områder eller handlinger som ikke er tillatt.
help
- `help` er en markør med et spørsmålstegn som vises når den plasseres over elementer som kan gi hjelpeinformasjon.
wait
- `wait` er et timeglass eller en sirkulær markør som representerer en behandlingsstatus.
progress
- `progress` er en markør som representerer en pågående operasjon. Den indikerer imidlertid at brukeren kan utføre andre operasjoner.
grab
- `grab` er en markør for å gripe dra-bare elementer.
grabbing
- `grabbing` er en markør som indikerer at et element dras.
resize
- `resize` er en markør som brukes når et vindu eller element kan endre størrelse. Det finnes forskjellige typer avhengig av retningen.
- **`n-resize`**: endre størrelse i oppover-retning.
- **`s-resize`**: endre størrelse nedover.
- **`e-resize`**: endre størrelse til høyre.
- **`w-resize`**: endre størrelse til venstre.
- **`ne-resize`**: endre størrelse til øverst-høyre.
- **`nw-resize`**: endre størrelse til øverst-venstre.
- **`se-resize`**: endre størrelse til nederst-høyre.
- **`sw-resize`**: endre størrelse til nederst-venstre.
Egendefinert markør
1element {
2 cursor: url('custom-cursor.png'), auto;
3}
Det er også mulig å angi en egendefinert markør ved hjelp av url()
.
- I dette eksempelet er
custom-cursor.png
bildefilen for markøren. Hvis bildet ikke er tilgjengelig, vises nettleserens standardmarkør medauto
.
Sammendrag
cursor
-egenskapen angir hvilken markør som skal vises når brukeren er over et element.- Det finnes ulike markørstiler avhengig av bruk, og egendefinerte markører kan også settes.
- Ved å velge passende markørstiler i henhold til interaktive elementer og begrensede operasjoner, kan en mer brukervennlig grensesnitt gis.
pointer-events
-egenskapen
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
-egenskapen brukes til å kontrollere hvordan et element håndterer hendelser fra peker-enheter som mus, berøring og stylus. Normalt, når et element klikkes på eller holdes over av en bruker, mottar det pekerhendelser, men denne oppførselen kan endres ved hjelp av denne egenskapen.
- I klassen
pointer-events-auto
erpointer-events
-egenskapen satt tilauto
, som gjør det mulig å behandle normale klikk- og hover-hendelser. Elementet er klikkbart, så en melding vises når det klikkes på. - I klassen
pointer-events-auto
erpointer-events
-egenskapen satt tilnone
, så elementet mottar ikke pekerhendelser. Selv omcursor
-egenskapen er satt tilpointer
, endrer ikke musemarkøren seg, og andre elementer under blir klikkbare.
Verdityper
pointer-events
-egenskapen angir om og hvordan et element mottar pekerhendelser. Du kan spesifisere følgende verdier.
auto
auto
er standardverdien, hvor elementet mottar pekerhendelser som vanlig.
none
- Når
none
er spesifisert, mottar elementet ikke pekerhendelser. Elementet deaktiverer interaksjoner som å klikke og holde pekeren over, men andre elementer under kan motta pekerhendelser.
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 verdiene brukes hovedsakelig for SVG-elementer. Hver verdi styrer om spesifikke deler av et element (som fyll, omriss osv.) reagerer på pekerhendelser. Det brukes ikke ofte med vanlige HTML-elementer.
Nøkkelelementer for bruk
Her er noen eksempler på hvordan du kan bruke pointer-events
-egenskapen.
-
Velge elementer du vil deaktivere
none
-verdien er nyttig for midlertidig å deaktivere elementer som knapper eller lenker.
-
Bruk med overlappende elementer
- Når
position
-egenskapen er satt tilabsolute
, eller elementer er stablet medz-index
-egenskapen, tillater innstilling avpointer-events
tilnone
på det øverste elementet at pekerhendelser sendes til elementet under.
- Når
resize
-egenskap
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
er en CSS-egenskap som angir i hvilken retning et element kan endres størrelse av brukeren. Ved å bruke denne egenskapen kan du tillate at elementer endrer størrelse vertikalt eller horisontalt ved å dra, eller deaktivere størrelsesendring helt.
I dette eksempelet er retningen som en tekstboks kan endres størrelse spesifisert ved bruk av resize
-egenskapen.
- Med
resize: both;
kan et element endres størrelse både horisontalt og vertikalt. - Med
resize: horizontal;
kan et element kun endres størrelse horisontalt. - Med
resize: vertical;
kan et element kun endres størrelse vertikalt. - Med
resize: none;
kan et element ikke endres størrelse.
Verdityper
resize
-egenskapen tildeles en verdi som spesifiserer retningen et element kan endres størrelse. Du kan spesifisere følgende verdier.
none
- Å spesifisere
none
deaktiverer størrelsesendring av elementet. Dette er standardverdien.
both
- Å spesifisere
both
tillater at elementet endres størrelse både vertikalt og horisontalt.
horizontal
- Å spesifisere
horizontal
tillater at elementet kun endres størrelse i horisontal retning (bredde).
vertical
- Å spesifisere
vertical
tillater at elementet kun endres størrelse i vertikal retning (høyde).
inherit
- Ved å spesifisere
inherit
arver elementet verdien avresize
-egenskapen fra sin forelder.
Notater
- For å gjøre et element justerbart, må du angi egenskapen
overflow
sammen med egenskapenresize
. Justerbare elementer kan trenge rullefelt, ogoverflow: auto
blir vanligvis satt. - Justering brukes vanligvis med blokkelementer som
div
ogtextarea
.
Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.