NasDash Docs
Développeurs

CSS personnalisé

Utiliser le contrat public de thème, rester compatible et récupérer une interface cassée.

Ouvrez Réglages → Développeur → CSS personnalisé. Cette fonction sert uniquement à l'apparence : elle n'ajoute pas de capacité serveur et ne change pas les permissions.

Contrat recommandé

Utilisez les variables publiques --nd-*. Les classes internes .nd-* peuvent évoluer et ne constituent pas un contrat stable.

:root {
  --nd-accent: #7c3aed;
  --nd-accent-glow: rgba(124, 58, 237, 0.18);
  --nd-card-radius: 16px;
  --nd-card-border: rgba(124, 58, 237, 0.24);
}

Couleurs et surfaces

VariablesUsage
--nd-bg, --nd-bg-surface, --nd-bg-gradientarrière-plan global
--nd-card-bg-rgb, --nd-card-bg-opacity, --nd-card-bgsurface des cartes
--nd-subcard-bg, --nd-card-border, --nd-card-hover-border, --nd-card-shadowcartes imbriquées, bordures et ombre
--nd-text, --nd-text-muted, --nd-text-dimmedhiérarchie typographique
--nd-accent, --nd-accent-glow, --nd-accent-dimcouleur d'accent
--nd-green, --nd-yellow, --nd-orange, --nd-redétats
--nd-blue, --nd-purplecouleurs complémentaires
--nd-progress-bg, --nd-progress-fillprogressions
--nd-icon-bg, --nd-icon-borderconteneurs d'icônes

Formes et mouvement

--nd-card-radius contrôle les angles, --nd-blur le flou d'arrière-plan et --nd-transition la durée standard.

Mobile et accessibilité

:root {
  --nd-card-radius: 18px;
}

@media (max-width: 700px) {
  :root {
    --nd-card-radius: 10px;
    --nd-blur: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --nd-transition: 0ms;
  }
}

Conservez un contraste suffisant, un focus visible et des tailles tactiles confortables. Testez en clair, sombre, mobile, tablette et desktop.

Récupération sûre

Si le CSS masque la navigation, ouvrez :

https://votre-nasdash.example/?safe-css=1

Le paramètre désactive le CSS sauvegardé pour ce chargement sans le supprimer. Ouvrez les réglages, corrigez ou réinitialisez, puis rechargez l'URL normale.

Limites de sécurité

  • taille maximale : 256 Kio ;
  • scripts, protocoles dangereux, breakouts HTML/style, expression(), comportements historiques et @import distants sont neutralisés ;
  • les commentaires CSS sont retirés ;
  • un url(...) externe ordinaire peut contacter un serveur tiers et révéler l'IP du visiteur.

La sanitisation est une protection complémentaire, pas une permission à donner l'administration à une personne non fiable.

On this page