You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/1-document/08-styles-and-classes/article.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
# Stili e classi
2
2
3
-
Prima di cominciare a trattare i modi in cui JavaScript interagisce con gli stili e le classi -- ecco una regola importante. Si spera che sia abbastanza scontata, ma non guasta ripeterla.
3
+
Prima di cominciare a trattare i modi in cui JavaScript interagisce con gli stili e le classi, ecco una regola importante. Si spera che sia abbastanza scontata, ma non guasta ripeterla.
4
4
5
5
Ci sono in genere due modi di applicare uno stile ad un elemento:
6
6
7
7
1. Creare una classe CSS ed aggiungerla: `<div class="...">`
8
8
2. Scrivere direttamente le proprietà dentro `style`: `<div style="...">`.
9
9
10
-
JavaScript può modificare sia le classi sia le proprietà all'interno di `style`.
10
+
JavaScript può modificare sia le classi che le proprietà all'interno di `style`.
11
11
12
12
Dovremmo sempre preferire le classi CSS a `style`. Quest'ultimo dovrebbe essere usato solo se le classi non sono sufficienti.
13
13
@@ -21,13 +21,13 @@ elem.style.left = left; // es '123px', calcolato al momento dell'esecuzione
21
21
elem.style.top= top; // es '456px'
22
22
```
23
23
24
-
Per gli altri casi, come rendere rosso un testo, aggiungere un'icona di sfondo -- definiamo degli stili CSS e poi applichiamo la classe con JavaScript. È più flessibile e più facile da supportare.
24
+
Per gli altri casi, come rendere rosso un testo o aggiungere un'icona di sfondo , definiamo degli stili CSS e poi applichiamo la classe con JavaScript. È più flessibile e più facile da gestire.
25
25
26
26
## className e classList
27
27
28
28
Modificare una classe è una delle operazioni più comuni negli script.
29
29
30
-
Anticamente c'era una limitazione in JavaScript: una parola riservata come `"class"` non poteva essere una proprietà di un oggetto. Tale limitazione non c'è più, ma a quel tempo era impossibile avere una proprietà `"class"` come `elem.class`.
30
+
Molto tempo fa c'era una limitazione in JavaScript: una parola riservata come `"class"` non poteva essere una proprietà di un oggetto. Tale limitazione non c'è più, ma a quel tempo era impossibile avere una proprietà `"class"` come `elem.class`.
31
31
32
32
Quindi per le classi fu introdotta la proprietà `"className"` che è simile: l'attributo `"class"` ha il suo corrispettivo DOM in `elem.className`.
33
33
@@ -149,7 +149,7 @@ Per impostare tutti gli stili come stringa c'è una speciale proprietà `style.c
149
149
</script>
150
150
```
151
151
152
-
Questa proprietà è usata di rado, poiché un tale assegnamento rimuove tutti gli stili esistenti: non li aggiunge, piuttosto li sostituisce. Potrebbe eliminare in modo fortuito qualcosa di necessario. Possiamo tuttavia usarla in sicurezza per i nuovi elementi, quando siamo certi che non cancelleremo uno stile preesistente.
152
+
Questa proprietà è usata di rado, poiché un tale assegnamento rimuove tutti gli stili esistenti: non li aggiunge, ma li sostituisce. Potrebbe eliminare inavvertitamente qualcosa di necessario. Possiamo tuttavia usarla in sicurezza per i nuovi elementi, quando siamo certi che non cancelleremo uno stile preesistente.
153
153
154
154
Lo stesso risultato può essere ottenuto impostando un attributo: `div.setAttribute('style', 'color: red...')`.
155
155
````
@@ -255,13 +255,13 @@ Ci sono due concetti nei [CSS](https://drafts.csswg.org/cssom/#resolved-values):
255
255
256
256
Molto tempo addietro `getComputedStyle` è stato creato per ottenere i valori computed, ma si scoprì che i valori resolved erano molto più utili e lo standard è cambiato.
257
257
258
-
Attualmente, quindi, restituisce il valore resolved della proprietà, di solito espressa in `px` per le proprietà geometriche.
258
+
Attualmente, quindi, `getComputedStyle` restituisce il valore resolved della proprietà, di solito espressa in `px` per le proprietà geometriche.
259
259
```
260
260
261
261
````warn header="`getComputedStyle` richiede il nome completo della proprietà"
262
262
Dovremmo sempre chiedere l'esatta proprietà che si desidera, come `paddingLeft` o `marginTop` o `borderTopWidth`. Diversamente il risultato corretto non è garantito.
263
263
264
-
Per esempio, se ci sono le proprietà `paddingLeft/paddingTop`, cosa dovremmo ottenere con `getComputedStyle(elem).padding`? Niente, o forse un valore "generato" a partire dai valori di padding noti? Non esiste una regola standard in questo caso.
264
+
Per esempio, se ci sono le proprietà `paddingLeft/paddingTop`, cosa otterremmo con `getComputedStyle(elem).padding`? Niente, o forse un valore "generato" a partire dai valori di padding noti? Non esiste una regola standard in questo caso.
265
265
266
266
Ci sono altre incongruenze. Ad esempio, alcuni browser (Chrome) mostrano `10px` nel documento in basso, ed altri (Firefox) -- invece no:
267
267
@@ -281,7 +281,7 @@ Ci sono altre incongruenze. Ad esempio, alcuni browser (Chrome) mostrano `10px`
281
281
```smart header="Gli stili applicati ai link `:visited` sono nascosti!"
282
282
I link visitati possono ricevere un colore tramite la pseudoclasse CSS `:visited`.
283
283
284
-
Tuttavia `getComputedStyle non dà accesso a quel colore, poiché diversamente una pagina arbitraria potrebbe scoprire se l'utente ha visitato un link creandolo sulla pagina e verificandone gli stili.
284
+
Tuttavia `getComputedStyle non dà accesso a quel colore, poiché diversamente, una pagina arbitraria potrebbe scoprire se l'utente ha visitato un link creandolo e verificandone gli stili.
285
285
286
286
JavaScript potrebbe non rilevare gli stili applicati da `:visited`. C'è una limitazione nei CSS, inoltre, che vieta su `:visited` l'applicazione di stili che modifichino le proprietà geometriche. Questo per garantire che, per una pagina malevola, non ci sia una via traversa di testare se un link è stato visitato e quindi di violare la privacy.
287
287
```
@@ -291,7 +291,7 @@ JavaScript potrebbe non rilevare gli stili applicati da `:visited`. C'è una lim
291
291
Per gestire le classi ci sono due proprietà DOM:
292
292
293
293
- `className` -- il valore stringa, ottimo per gestire l'intero insieme delle classi.
294
-
- `classList` -- il valore oggetto con i metodi `add/remove/toggle/contains`, ottimo per gestire le classi individualmente.
294
+
- `classList` -- l'oggetto con i metodi `add/remove/toggle/contains`, ottimo per gestire le classi individualmente.
0 commit comments