diff --git a/ecrire/inc/filtres_boites.php b/ecrire/inc/filtres_boites.php index 1ce120bb01cfa92a53135236a2d92877b4a29cba..28c44b4df6d728b5e512d398e5a8d376ccfdb891 100644 --- a/ecrire/inc/filtres_boites.php +++ b/ecrire/inc/filtres_boites.php @@ -129,17 +129,15 @@ function balise_BOITE_FERMER_dist($p) { */ function boite_ouvrir($titre, $class = '', $head_class = '', $id = '') { $class = "box $class"; - $head_class = "clearfix hd $head_class"; + $head_class = "box__header $head_class clearfix"; // dans l'espace prive, titrer en h3 si pas de balise <hn> if (test_espace_prive() and strlen($titre) and strpos($titre, '<h') === false) { $titre = "<h3>$titre</h3>"; } return '<div class="' . $class . ($id ? "\" id=\"$id" : '') . '">' - . '<b class="top"><b class="tl"></b><b class="tr"></b></b>' - . '<div class="inner">' - . ($titre ? '<div class="clearfix ' . $head_class . '">' . $titre . '<!--/hd--></div>' : '') - . '<div class="clearfix bd">'; + . ($titre ? "<div class=\"$head_class\">$titre</div>" : '') + . '<div class="box__body clearfix">'; } @@ -156,10 +154,10 @@ function boite_ouvrir($titre, $class = '', $head_class = '', $id = '') { * HTML de transition vers le pied de la boîte */ function boite_pied($class = 'act') { - $class = "ft $class"; + $class = "box__footer $class"; return '</div>' - . '<div class="cleafix ' . $class . '">'; + . "<div class=\"$class clearfix\">"; } @@ -174,7 +172,6 @@ function boite_pied($class = 'act') { * HTML de fin de la boîte */ function boite_fermer() { - return '</div></div>' - . '<b class="bottom"><b class="bl"></b><b class="br"></b></b>' + return '</div>' . '</div>'; } diff --git a/prive/themes/spip/boutons.css.html b/prive/themes/spip/boutons.css.html index 6d57dfc07f62e87b23fd0f16bdd231a1d64de672..3982dd1ee266861fff8a39eb08b175c85a2f539f 100644 --- a/prive/themes/spip/boutons.css.html +++ b/prive/themes/spip/boutons.css.html @@ -508,7 +508,7 @@ button.btn_#VALEUR, } /* Dans le footer d'une boîte */ -.box .ft .bouton_action_post { +.box__footer .bouton_action_post { margin-bottom: 0; } diff --git a/prive/themes/spip/box.css b/prive/themes/spip/box.css deleted file mode 100644 index 0edf71856f7376ed1ca0746774653224c8610c3c..0000000000000000000000000000000000000000 --- a/prive/themes/spip/box.css +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright (c) 2009, Nicole Sullivan. All rights reserved. -Code licensed under the BSD License: -version: 0.2 -*/ -/* **************** BLOCK STRUCTURES ***************** */ -/* box */ -.box{margin:20px 0 0;} -.bd,.ft{padding:0 10px;} -.bd {padding:10px;} -.hd {padding:5px 10px;} -.box .inner{position:relative;} -.box>b,.box>b>b{display:block;background-repeat:no-repeat;font-size:1%;position:relative;z-index:10;} -.box .tl, .box .tr, .box .bl, .box .br{height:10px; width:10px;float:left;} -.box .tl{background-position: left top;} -.box .tr{background-position: right top;} -.box .bl{background-position: left bottom;} -.box .br{background-position: right bottom;} -.box .br,.box .tr{float:right;} -.box .bl,.box .br{margin-top:-10px;} -.box .top{background-position:center top;} -.box .bottom{background-position:center bottom;} -/* complex */ -.complex{overflow:hidden;} -.complex .tl, .complex .tr{height:32000px; margin-bottom:-32000px;width:10px;overflow:hidden;} -.complex .bl, .complex .br{/*margin-top:0;*/} -.complex .top{height:5px;} -.complex .bottom{height:5px;/*margin-top:-10px;*/} -/* pop */ -.pop{overflow:visible;margin: 10px 20px 20px 10px; background-position:left top;} -.pop .inner{right:-10px; bottom:-10px; background-position:right bottom;padding:10px;} -.pop .tl, .pop .br{display:none;} -.pop .bl{bottom:-10px;} -.pop .tr{right:-10px;} \ No newline at end of file diff --git a/prive/themes/spip/box_skins.css.html b/prive/themes/spip/box_skins.css.html index d93b95654defbef612533023deda80752be196aa..a362ee8232ab350ec393e203d156b8c160660319 100644 --- a/prive/themes/spip/box_skins.css.html +++ b/prive/themes/spip/box_skins.css.html @@ -10,22 +10,20 @@ Organisation du fichier : 0. Variables - 1. Base lib - 2. Layout et rythme vertical - 3. Base graphique commune - 4. Variantes principales - 5. Variantes d'états - 6. Autres variantes - 7. Cas particuliers - 8. Déprécations + 1. Layout et rythme vertical + 2. Base graphique commune + 3. Variantes principales + 4. Variantes d'états + 5. Autres variantes + 6. Cas particuliers + 7. Déprécations Markup : .box - .inner - .hd (header) - .bd (body) - .ft (footer) + .box__header + .box__body + .box__footer <style>] #CACHE{3600*100,cache-client} @@ -71,17 +69,9 @@ } -/** - * =========== - * 1. Base lib - * =========== - */ -[(#INCLURE{prive/themes/spip/box.css})] - - /** * ============================ - * 2. Layout et rythme vertical + * 1. Layout et rythme vertical * ============================ */ @@ -95,79 +85,78 @@ Plus tard il faudra se baser sur spip-spacing-y quand ça sera au point. Pour l'instant on laisse la valeur historique. */ .box { - margin: calc(var(--spip-margin-bottom) * 1.5) 0; -} -.box .inner { position: relative; + margin: calc(var(--spip-margin-bottom) * 1.5) 0; } -/* Même padding partout, sauf footer */ -.box .bd, .box .hd, .box .ft { +/* Même padding partout, ajusté pour le footer */ +.box__header, .box__body, .box__footer { position: relative; padding: var(--spip-box-spacing-y) var(--spip-box-spacing-x); } -.box .ft { +.box__footer { padding-top: calc(var(--spip-box-spacing-y) / 2); padding-bottom: calc(var(--spip-box-spacing-y) / 2); } /* Annuler marges inutiles au début et à la fin */ -.box .bd > :first-child, -.box .bd > :first-child > :first-child { +.box__body > :first-child, +.box__body > :first-child > :first-child { margin-top: 0; } -.box .bd > :last-child { +.box__body > :last-child { margin-bottom: 0; } -.box .hd h1, .box .hd h2, .box .hd h3, .box .hd h4, .box .hd h5, .box .hd h6 { +.box__header h1, .box__header h2, .box__header h3, .box__header h4, .box__header h5, .box__header h6 { margin-bottom: 0; } -.box .ft .btn, -.box .ft button, -.box .ft .groupe-btns { +.box__footer .btn, +.box__footer button, +.box__footer .groupe-btns { margin-bottom: 0; } /** * ========================= - * 3. Base graphique commune + * 2. Base graphique commune * ========================= - * - * Nb : les styles s’appliquent au .inner, pas sur le .box lui-même. */ -/* Conteneur interne */ -.box .inner { - background-color: var(--spip-color-white); - transition: box-shadow 0.2s; +/* Conteneur + obligé de reset les vieux messages d'alertes */ +.box, +.box.notice, .box.error, .box.success { + background: var(--spip-color-white); + padding: 0; border-radius: var(--spip-box-border-radius); border: 0; box-shadow: var(--spip-box-shadow); + color: var(--spip-color-black); + transition: box-shadow 0.2s; } -.box .inner:hover, -.box .inner:focus-within { +.box:hover, +.box:focus-within { box-shadow: var(--spip-box-shadow-hover); } /* Header */ -.box .hd { +.box__header { border-top-left-radius: inherit; border-top-right-radius: inherit; border-bottom: 1px solid var(--spip-box-sep-color); } /* Body : sans titre et/ou sans footer, ajuster l'arrondi */ -.box .bd:first-child { +.box__body:first-child { border-top-left-radius: var(--spip-box-border-radius); border-top-right-radius: var(--spip-box-border-radius); } -.box .bd:only-child { +.box__body:only-child { border-bottom-left-radius: var(--spip-box-border-radius); border-bottom-right-radius: var(--spip-box-border-radius); } /* Footer */ -.box .ft { +.box__footer { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; background-color: var(--spip-color-gray-lightest); @@ -175,10 +164,10 @@ } /* Titres - Règle : avec le h3 par défaut on raccorde avec les titres des formulaires (taille, graisse, …). - Si on veut forcer avec une autre balise (h2…), utilisez la variante .titrem sur le header. */ -.box .hd h3, -.box .hd.titrem h1, .box .hd.titrem h2, .box .hd.titrem h3, .box .hd.titrem h4, .box .hd.titrem h5, .box .hd.titrem h6, + Règle : si h3, c'est le style par défaut, et on mutualise avec les titres des formulaires (taille, graisse, …). + Si autre balise et qu'on veut forcer le style par défaut, utiliser la variante .titrem sur le header. */ +.box__header h3, +.box__header.titrem h1, .box__header.titrem h2, .box__header.titrem h3, .box__header.titrem h4, .box__header.titrem h5, .box__header.titrem h6, .formulaire_spip .titrem { font-size: calc(1em * var(--spip-form-titrem-factor)); font-weight: 800; @@ -189,7 +178,7 @@ .lat .box { font-size: 0.95em; } -.lat .box .hd h1, .lat .box .hd h2, .lat .box .hd h3, .lat .box .hd h4, .lat .box .hd h5, .lat .box .hd h6, +.lat .box__header h1, .lat .box__header h2, .lat .box__header h3, .lat .box__header h4, .lat .box__header h5, .lat .box__header h6, .lat .formulaire_spip .titrem { font-size: 1em; } @@ -197,105 +186,98 @@ /** * ======================== - * 4. Variantes principales + * 3. Variantes principales * ======================== */ /* Simple */ -.box.simple .inner { +.box.simple { background-color: var(--spip-color-white); } /* Info */ -.box.info .inner { +.box.info { border: 3px solid var(--spip-color-theme-light); background-color: var(--spip-color-white); } /* Note */ -.box.note .inner { +.box.note { border: 3px solid var(--spip-color-theme-lighter); background-color: var(--spip-color-theme-lightest); } /* Raccourcis */ -.box.raccourcis .inner { +.box.raccourcis { border-bottom: 1px solid hsla(0, 0%, 0%, 0.1); background-color: var(--spip-color-gray-lighter); } /* Important */ -.box.important .inner { +.box.important { border: 3px solid var(--spip-color-theme); background: var(--spip-color-white); } /* Highlight */ -.box.highlight .inner { +.box.highlight { background-color: var(--spip-color-theme-light); } -.box.highlight .hd { +.box.highlight .box_header { border-bottom-color: var(--spip-box-sep-color); } -.box.highlight .hd * { +.box.highlight .box_header * { color: inherit; } /* Inverse */ -.box.inverse .inner { +.box.inverse { background-color: var(--spip-color-gray-darker); color: var(--spip-color-white); } -.box.inverse .hd { +.box.inverse .box__header { border-bottom-color: var(--spip-box-sep-color-inverse); } -.box.inverse .hd * { +.box.inverse .box__header * { color: inherit; } /** * ==================== - * 5. Variantes d'états + * 4. Variantes d'états * ==================== */ -/* Reset des styles des "messages" qui sont pour l'instant dans forms.css */ -.box.notice, .box.error, .box.success { - border: 0; - background: transparent; - padding: 0; - color: inherit; -} /* Icône centrée verticalement dans le header */ -.box.notice .hd, .box.error .hd, .box.success .hd, -.box.notice .bd, .box.error .bd, .box.success .bd { +.box.notice .box__header, .box.error .box__header, .box.success .box__header, +.box.notice .box__body, .box.error .box__body, .box.success .box__body { background-repeat: no-repeat; background-size: var(--spip-box-iconsize); background-position: var(--spip-left) var(--spip-box-spacing-x) center; } /* Décommenter s'il faut centrer l'icône sur la 1ère ligne de texte dans le body */ -/*.notice .bd, .error .bd, .success .bd { +/*.notice .box__body, .error .box__body, .success .box__body { background-position: var(--spip-left) var(--spip-box-spacing-x) top calc(var(--spip-box-spacing-y) - ((var(--spip-box-iconsize) - var(--spip-line-height)) / 2)); }*/ /* Espacement pour l'icône selon qu'elle soit dans le header ou dans le body */ -.box.notice .hd, .box.error .hd, .box.success .hd, -.box.notice .bd:first-child, .box.error .bd:first-child, .box.success .bd:first-child { +.box.notice .box__header, .box.error .box__header, .box.success .box__header, +.box.notice .box__body:first-child, .box.error .box__body:first-child, .box.success .box__body:first-child { padding-#LEFT: calc(var(--spip-box-iconsize) + (var(--spip-box-spacing-x) * 2)); } /* Bordure sur le côté */ -.box.notice .hd, .box.error .hd, .box.success .hd, -.box.notice .bd, .box.error .bd, .box.success .bd, -.box.notice .ft, .box.error .ft, .box.success .ft { +.box.notice .box__header, .box.error .box__header, .box.success .box__header, +.box.notice .box__body, .box.error .box__body, .box.success .box__body, +.box.notice .box__footer, .box.error .box__footer, .box.success .box__footer { border-#LEFT: var(--spip-box-highlightsize) solid transparent; } /* Mini hack : sous le header on met la bordure basse en pseudo pour ne pas empiéter la bordure latérale colorée */ -.box.notice .hd, .box.error .hd, .box.success .hd { +.box.notice .box__header, .box.error .box__header, .box.success .box__header { border-bottom: 0; } -.box.notice .hd:before, .box.error .hd:before, .box.success .hd:before { +.box.notice .box__header:before, .box.error .box__header:before, .box.success .box__header:before { content: ""; display: block; z-index: 2; @@ -307,48 +289,48 @@ } /* Notice */ -.box.notice .hd, -.box.notice .bd { +.box.notice .box__header, +.box.notice .box__body { border-#LEFT-color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 60%); } -.box.notice .ft { +.box.notice .box__footer { border-#LEFT-color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 50%); } -.box.notice .hd, -.box.notice .bd:first-child { +.box.notice .box__header, +.box.notice .box__body:first-child { background-image: url(#CHEMIN_IMAGE{warning-32.png}); } /* Erreur */ -.box.error .hd, -.box.error .bd { +.box.error .box__header, +.box.error .box__body { border-#LEFT-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 60%); } -.box.error .ft { +.box.error .box__footer { border-#LEFT-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 50%); } -.box.error .hd, -.box.error .bd:first-child { +.box.error .box__header, +.box.error .box__body:first-child { background-image: url(#CHEMIN_IMAGE{erreur-32.png}); } /* Succès */ -.box.success .hd, -.box.success .bd { +.box.success .box__header, +.box.success .box__body { border-#LEFT-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 55%); } -.box.success .ft { +.box.success .box__footer { border-#LEFT-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 48%); } -.box.success .hd, -.box.success .bd:first-child { +.box.success .box__header, +.box.success .box__body:first-child { background-image: url(#CHEMIN_IMAGE{ok-32.png}); } /** * =================== - * 6. Autres variantes + * 5. Autres variantes * =================== */ @@ -357,40 +339,40 @@ Peut se conjuguer aux autres quand on veut forcer. Certaines le sont d'office, notamment les boîtes imbriquées. Une bordure est ajoutée si nécessaire. */ -.box.flat .inner, -.box.info:not(.pop) .inner, -.box.note:not(.pop) .inner, -.box.important:not(.pop) .inner, -.box.raccourcis:not(.pop) .inner, -.box .box:not(.pop) .inner /* imbriquées */ +.box.flat, +.box.info:not(.pop), +.box.note:not(.pop), +.box.important:not(.pop), +.box.raccourcis:not(.pop), +.box .box:not(.pop) /* imbriquées */ { box-shadow: none !important; } -.box.simple.flat .inner, -.box.notice.flat .inner, -.box.error.flat .inner, -.box.success.flat .inner, -.box .box.simple:not(.pop) .inner, /* imbriquées */ -.box .box.notice:not(.pop) .inner, -.box .box.error:not(.pop) .inner, -.box .box.success:not(.pop) .inner { +.box.simple.flat, +.box.notice.flat, +.box.error.flat, +.box.success.flat, +.box .box.simple:not(.pop), /* imbriquées */ +.box .box.notice:not(.pop), +.box .box.error:not(.pop), +.box .box.success:not(.pop) { border: 1px solid var(--spip-box-border-color); } /* pop : avec une ombre portée. Peut se conjuguer aux autres quand on veut forcer */ -.box.pop .inner { +.box.pop { box-shadow: var(--spip-box-shadow); } -.box.pop .inner:hover, -.box.pop .inner:focus-within { +.box.pop:hover, +.box.pop:focus-within { box-shadow: var(--spip-box-shadow-hover); } /** * =================== - * 7. Cas particuliers + * 6. Cas particuliers * =================== */ @@ -399,12 +381,12 @@ * Menu des rubriques dépliables sur la home * (voir aussi styles boîtes dépliables plus bas) */ -.box.sous-rub .inner { +.box.sous-rub { background-color: var(--spip-color-theme-lighter); box-shadow: none !important; } /* titre */ -.box.sous-rub .hd { +.box.sous-rub .box__header { padding: 0; /* padding dans le titre cliquable plutôt */ border-bottom: 0; } @@ -424,7 +406,7 @@ .box.sous-rub .titrem:not(.deplie):focus { border-radius: var(--spip-box-border-radius); } -.box.sous-rub .hd .logo { +.box.sous-rub .box__header .logo { float: var(--spip-right); margin: 1px 5px 0; margin-#ENV{right}: -9px; @@ -433,7 +415,7 @@ border-top-#RIGHT-radius:5px; } /* Body */ -.box.sous-rub .bd { +.box.sous-rub .box__body { padding: 0; border-top: 0; } @@ -474,7 +456,7 @@ /** * =============== - * 8. Déprécations + * 7. Déprécations * =============== * Vieilles boîtes dépliables/repliables encore maintenues mais dépréciées * Exemple : menu des rubriques dépliables sur la home (utilisé ailleurs ?)