titles: hide only what js claims (.variable-title class), drop duplicated selector list (fix: teaser dates invisible for 3s)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user