titles: hide only what js claims (.variable-title class), drop duplicated selector list (fix: teaser dates invisible for 3s)

This commit is contained in:
2026-09-28 18:05:08 +02:00
parent 7ae28cd7c1
commit 0ef60b1ec9
3 changed files with 13 additions and 18 deletions
@@ -41,20 +41,15 @@
// }
}
// Titres traités par assets/js/titles.js : garder identique à TITLE_SELECTORS.
$variable-title-selectors: (
'#block-leshed-identitedusite>a',
'article.node-type-projet>header>h2',
'article.node-type-projet>.cols>.left>h2',
'article.node-type-projet.view-mode-full h2.node-title',
'article.node-type-evenement>header>h2',
'article.node-type-evenement>header>.field_dates>time',
'article.node-type-evenement.view-mode-full h2.node-title',
'article.node-type-evenement.view-mode-full .field_dates.digit-dates span.date-part',
);
// La classe `variable-title` est posée par assets/js/titles.js au moment où
// il prend en charge un titre. Le CSS ne masque donc QUE des éléments que le
// JS traite : une désynchronisation de listes de sélecteurs ne peut plus
// rendre de contenu invisible (c'est ce qui cachait les dates des teasers
// pendant 3 s — le garde-fou). Un titre non traité par le JS n'est jamais
// masqué : il reste affiché tel quel.
// Avant le split : même métrique qu'après, pour éviter un saut de mise en page.
:where(#{$variable-title-selectors}):not(.splitting){
.variable-title:not(.splitting){
margin: 0;
font-weight: 200;
text-transform: lowercase;
@@ -64,7 +59,7 @@ $variable-title-selectors: (
// Masqués (place conservée) jusqu'au split ; réaffichés après 3 s si le JS échoue.
@media (scripting: enabled){
:where(#{$variable-title-selectors}):not(.is-ready){
.variable-title:not(.is-ready){
visibility: hidden;
animation: leshed-title-failsafe 0s 3s forwards;
}