Generi un valore box-shadow CSS
Indichi lo scostamento, la sfocatura, l'espansione e il colore di un'ombra e ottenga un box-shadow CSS pronto da incollare: 4, 8, 16 e 0 diventano 4px 8px 16px 0px seguiti dal suo colore. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Scostamento x
- 4
- Scostamento y
- 8
- Sfocatura
- 16
- Estensione
- 0
- Colore
- rgb(15 23 42 / 0.25)
- Ombra del box
- 4px 8px 16px 0px rgb(15 23 42 / 0.25)
Crei un valore box-shadow CSS pronto da copiare partendo da cinque input espliciti, senza comporre manualmente la sintassi. Indichi gli scostamenti orizzontale e verticale, il raggio di sfocatura, il raggio di espansione e qualsiasi colore supportato da CSS. Il generatore convalida i campi numerici, rifiuta valori negativi per sfocatura o espansione e restituisce un’ombra formattata in modo coerente con unità in pixel. È utile per la progettazione interattiva, le pipeline di token di design, i generatori di componenti e i test che devono ottenere sempre lo stesso risultato dallo stesso input.
Imposti la posizione con gli scostamenti orizzontale e verticale
Nel risultato generato entrambi i valori sono espressi in pixel CSS. Uno scostamento orizzontale positivo sposta l’ombra verso destra, mentre uno negativo la porta verso sinistra. Uno scostamento verticale positivo la muove verso il basso e uno negativo verso l’alto.
Il valore zero mantiene l’ombra centrata sull’asse corrispondente. I campi accettano numeri decimali quando un sistema di design usa spaziature frazionarie; il generatore conserva il numero convalidato senza arrotondarlo silenziosamente. Nel scegliere gli scostamenti consideri la sorgente luminosa apparente: una luce posta in alto a sinistra produce normalmente un’ombra in basso a destra.
Valori piccoli tendono a comunicare vicinanza e discrezione, mentre valori grandi possono far apparire un elemento sollevato o volutamente grafico. Lo strumento non deduce la direzione dalla sfocatura, dal colore o dal tipo di componente. I valori restano quindi sotto il Suo controllo e possono essere riprodotti con precisione nei fogli di stile e nelle build.
Regoli morbidezza e ingombro con sfocatura ed espansione
Il raggio di sfocatura controlla quanto gradualmente l’ombra passa dalla zona più intensa alla trasparenza. Un valore pari a zero crea un bordo netto, mentre valori maggiori producono un’ombra più morbida e visivamente più ampia. Il raggio di espansione ingrandisce la forma dell’ombra prima che venga applicata la sfocatura.
Zero segue l’ingombro originale dell’elemento; un valore positivo lo estende in ogni direzione. Inserisca ciascun valore come numero semplice; il CSS restituito aggiunge le unità px nell’ordine richiesto. Sfocatura ed espansione sono controlli diversi, quindi aumentare l’una non equivale ad aumentare l’altra.
Per un’ombra discreta da interfaccia, abbini uno scostamento contenuto a una sfocatura moderata e a poca o nessuna espansione. Per un anello di focus deciso o un effetto da manifesto, sfocatura zero ed espansione più ampia possono creare un contorno nitido. Visualizzi il risultato sulla superficie reale, perché contrasto e colori circostanti cambiano la morbidezza percepita.
Scelga un colore e applichi il valore generato
Il campo del colore accetta un solo valore CSS non vuoto, compresi un nome, una notazione esadecimale o una forma funzionale come rgb() o hsl(). La trasparenza alfa è spesso importante per ombre naturali, perché un colore scuro opaco può risultare pesante sulle superfici chiare e torbido sugli sfondi colorati. Il generatore elimina gli spazi esterni superflui, verifica che le parentesi siano bilanciate e rifiuta caratteri che potrebbero interrompere una dichiarazione.
Assegni il valore alla proprietà box-shadow, lo inserisca in una proprietà personalizzata o lo salvi come token di design. La risposta è un valore, non una dichiarazione completa; l’applicazione sceglie ancora il selettore e decide se combinarlo con altri livelli. Per ombre multiple, generi e controlli ogni livello separatamente prima di unire i valori con virgole.
L’esecuzione è deterministica e non dipende da rete, modello, casualità, archiviazione o orologio: risulta quindi adatta a snapshot e automazioni di build ripetibili.
Casi d'uso
Crei un token d’ombra per un componente
Trasformi impostazioni di design strutturate in un valore box-shadow stabile per schede, menu, finestre di dialogo e controlli mobili.
Alimenti un editor visuale degli stili
Converta cursori e selettori di colore in CSS copiabile, rifiutando valori negativi di sfocatura o espansione.
Generi fogli di stile riproducibili
Usi il risultato deterministico in script di build, generatori di componenti, test snapshot o pipeline di configurazione dei temi.
Domande frequenti
Lo scostamento orizzontale o verticale può essere negativo?
Sì. Uno scostamento orizzontale negativo porta l’ombra a sinistra, mentre uno verticale negativo la sposta verso l’alto.
Quali unità usa il risultato?
Tutti e quattro i valori numerici sono espressi in pixel. Fornisca numeri finiti senza aggiungere il testo dell’unità.
Vengono generati più livelli d’ombra?
No. Ogni richiesta genera un livello. Li generi separatamente e unisca con virgole i valori verificati quando il CSS richiede più ombre.
Che differenza c'è tra sfocatura ed espansione di un'ombra?
La sfocatura ammorbidisce il bordo: a zero resta netto, con valori più alti diventa una sfumatura più morbida e larga. L'espansione allarga la forma dell'ombra su tutti i lati prima della sfocatura, quindi aumentare l'una non sostituisce l'altra.
Come si rende un'ombra semitrasparente?
Usi un colore con trasparenza, come un valore rgb() o hsl() con canale alfa, ad esempio rgb(15 23 42 / 0.25). Un colore scuro opaco tende a sembrare pesante, mentre uno traslucido ricorda un'ombra naturale.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/web/box-shadow-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"offset_x":4,"offset_y":8,"blur":16,"spread":0,"color":"rgb(15 23 42 / 0.25)"}'const res = await fetch("https://api.kit.forhosting.com/web/box-shadow-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"offset_x": 4,
"offset_y": 8,
"blur": 16,
"spread": 0,
"color": "rgb(15 23 42 / 0.25)"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/box-shadow-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"offset_x": 4,
"offset_y": 8,
"blur": 16,
"spread": 0,
"color": "rgb(15 23 42 / 0.25)"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/box-shadow-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"offset_x":4,"offset_y":8,"blur":16,"spread":0,"color":"rgb(15 23 42 / 0.25)"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"offset_x":4,"offset_y":8,"blur":16,"spread":0,"color":"rgb(15 23 42 / 0.25)"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/box-shadow-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"offset_x": 4,
"offset_y": 8,
"blur": 16,
"spread": 0,
"color": "rgb(15 23 42 / 0.25)"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.box_shadow_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Imposti la posizione con gli scostamenti orizzontale e verticale
Inizi con offset_x e offset_y, che stabiliscono lo spostamento dell’ombra rispetto all’elemento.
Regoli morbidezza e ingombro con sfocatura ed espansione
Questa capacità rifiuta intenzionalmente valori negativi per sfocatura ed espansione, offrendo un contratto semplice basato su numeri non negativi e un errore invalid_input chiaro anziché uno stile inatteso.
Scelga un colore e applichi il valore generato
Restituisce un campo box_shadow con le cinque parti nell’ordine canonico CSS: scostamento orizzontale, scostamento verticale, raggio di sfocatura, raggio di espansione e colore. Il generatore produce un solo livello d’ombra per richiesta.
Domande tecniche
Quanto costa un valore generato?
L’esecuzione nel browser è gratuita. Una richiesta API riuscita costa $0.002 per ogni elemento generato.
Sfocatura o espansione possono essere negative?
No. Questa capacità richiede valori pari o superiori a zero e, in caso contrario, restituisce un errore invalid_input.