Files
slim-blog/assets/scss/base/_typography.scss
2026-03-16 01:47:07 +01:00

106 lines
3.0 KiB
SCSS

@use "../abstracts/variables" as *;
// =============================================================
// Typographie — styles globaux du texte
// =============================================================
// Échelle typographique de référence pour les éléments HTML sémantiques.
// Les composants surchargent ces valeurs si leur contexte l'exige
// (ex: .card__title, .error-page__code définissent leur propre taille).
// Les styles de contenu éditeur (Trumbowyg) sont dans components/_post.scss.
// -------------------------------------------------------------
// Titres
// -------------------------------------------------------------
// h1 : titre d'article (detail.twig) et logo du site (site-header__logo)
// h2 : titres de pages et de sections (toutes les vues admin et auth)
// h3 : sous-titres de blocs (category-create__title)
// h4-h6 : non utilisés dans les templates, définis en filet de sécurité
// pour le contenu HTML inséré via Trumbowyg
h1 {
font-size: 1.75rem;
font-weight: bold;
line-height: 1.2;
margin: 0 0 $spacing-md;
}
h2 {
font-size: 1.4rem;
font-weight: bold;
line-height: 1.2;
margin: 0 0 $spacing-md;
}
h3 {
font-size: 1.15rem;
font-weight: bold;
line-height: 1.3;
margin: 0 0 $spacing-sm;
}
h4,
h5,
h6 {
font-size: $font-size-base;
font-weight: bold;
line-height: $line-height-base;
margin: 0 0 $spacing-sm;
}
// -------------------------------------------------------------
// Liens
// -------------------------------------------------------------
// Liens nus sans classe BEM : navigation intra-page, liens de retour,
// "Mot de passe oublié ?", liens du footer.
// Les liens dans les composants (.card__title-link, .btn…) surchargent.
a {
color: $color-primary;
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
// -------------------------------------------------------------
// Éléments inline
// -------------------------------------------------------------
// small : hints de formulaire ("Minimum 8 caractères"), métadonnées d'articles
small {
font-size: $font-size-sm;
color: $color-text-muted;
}
// code : slugs dans l'admin (categories/index.twig), URLs dans les médias
code {
font-family: monospace, monospace;
font-size: $font-size-sm;
background: $color-bg-light;
padding: 0.1em 0.3em;
border-radius: $border-radius-sm;
word-break: break-all;
}
// pre : blocs de code dans le contenu Trumbowyg
pre {
font-family: monospace, monospace;
font-size: $font-size-sm;
background: $color-bg-light;
padding: $spacing-sm $spacing-md;
border-radius: $border-radius;
overflow-x: auto;
line-height: $line-height-base;
}
// -------------------------------------------------------------
// Séparateurs
// -------------------------------------------------------------
// hr : séparateur dans detail.twig (après l'article) et form.twig (avant les métadonnées)
hr {
border: none;
border-top: 1px solid $color-border;
margin: $spacing-lg 0;
}