---
name: cambia-colore
description: Usare quando l'utente vuole cambiare il colore di sfondo o testo di un elemento HTML in modo casuale o con colori specifici.
---

# Cambia Colore

Questa skill fornisce funzioni per modificare dinamicamente il colore di elementi HTML. Include funzioni per cambiare lo sfondo, il testo o entrambi con colori casuali o predefiniti.

## Procedura

1. **Per cambiare il colore di sfondo casualmente**: Usare `cambiaColore(elemento)` o `cambiaSfondo(elemento)`
2. **Per cambiare il colore del testo casualmente**: Usare `cambiaTesto(elemento)`
3. **Per generare un colore casuale**: Usare `coloreCasuale()`

## Regole

- L'elemento deve essere un nodo DOM valido (es: `document.body`, `document.querySelector("h1")`)
- `cambiaColore()` modifica solo lo sfondo per evitare testo illeggibile
- Per colori specifici, usare stringhe CSS valide: `"red"`, `"#ff0000"`, `"rgb(255, 0, 0)"`
- Le funzioni modificano direttamente lo stile inline dell'elemento

## Esempi

### Esempio 1: Cambiare sfondo casuale al click

```javascript
// Cambia lo sfondo del body al click
document.body.addEventListener('click', () => {
    cambiaColore(document.body);
});
```

### Esempio 2: Cambiare testo e sfondo separatamente

```javascript
// Cambia il colore del testo di un titolo
const titolo = document.querySelector('h1');
cambiaTesto(titolo);

// Cambia lo sfondo di un div
const myDiv = document.getElementById('myDiv');
cambiaSfondo(myDiv);
```

### Esempio 3: Generare e applicare un colore specifico

```javascript
// Applica un colore specifico
const elemento = document.querySelector('.box');
elemento.style.backgroundColor = coloreCasuale();
```

## Dettagli Aggiuntivi

- **Funzione `coloreCasuale()`**: Genera un colore RGB casuale nel formato `rgb(R, G, B)`
- **Funzione `cambiaSfondo(elemento)`**: Applica un colore casuale allo sfondo
- **Funzione `cambiaTesto(elemento)`**: Applica un colore casuale al testo
- I colori sono generati usando `Math.random() * 256` per ogni canale RGB
- Valori validi: 0-255 per ogni canale (rosso, verde, blu)
