User:Test987654/common.css: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
Test987654 (talk | contribs) test |
Test987654 (talk | contribs) No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
/* --- Palette Rubik --- */ |
|||
/* Palette */ |
|||
:root{ |
:root{ |
||
--rubik-white: |
--rubik-white:#ffffff; |
||
--rubik-yellow: |
--rubik-yellow:#ffd500; |
||
--rubik-orange: |
--rubik-orange:#ff6a00; |
||
--rubik-red: |
--rubik-red:#d40000; |
||
--rubik-green: |
--rubik-green:#009b48; |
||
--rubik-blue: |
--rubik-blue:#0051ba; |
||
--rubik-dark: |
--rubik-dark:#1b1b1b; |
||
--rubik- |
--rubik-border:#d8d8d8; |
||
--rubik- |
--rubik-surface:#fbfbfb; |
||
--rubik-soft-shadow:rgba(0,0,0,0.04); |
|||
--rubik-max-width:1150px; |
|||
} |
} |
||
/* Base safe */ |
|||
/* --- Fond global damier 3x3 stylisé --- */ |
|||
body { background: var(--rubik-surface); color:var(--rubik-dark); font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } |
|||
body.skin-vector, body.skin-monobook { |
|||
background-color: var(--rubik-light); |
|||
background-image: |
|||
linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px), |
|||
linear-gradient(0deg, rgba(0,0,0,0.03) 1px, transparent 1px); |
|||
background-size: 48px 48px, 48px 48px; |
|||
background-position: 0 0, 24px 24px; |
|||
color: var(--rubik-dark); |
|||
font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; |
|||
} |
|||
/* |
/* Centre le contenu principal */ |
||
#content, .mw-body { max-width:var(--rubik-max-width); margin:18px auto; padding:0 16px; box-sizing:border-box; } |
|||
#mw-head, #p-personal, #p-namespaces { |
|||
background: linear-gradient(90deg, var(--rubik-blue), var(--rubik-green)); |
|||
color: var(--rubik-white); |
|||
border-bottom: 3px solid var(--rubik-border); |
|||
box-shadow: 0 3px 0 rgba(0,0,0,0.12); |
|||
} |
|||
/* --- Logo carré type sticker --- */ |
|||
#p-logo, .mw-portlet-logo { |
|||
background: var(--rubik-white); |
|||
border: 3px solid var(--rubik-border); |
|||
box-shadow: 0 6px 0 rgba(0,0,0,0.12); |
|||
width: 64px; |
|||
height: 64px; |
|||
display: inline-block; |
|||
border-radius: 6px; |
|||
overflow: hidden; |
|||
} |
|||
/* |
/* Titre de page — transformé en bandeau Rubik */ |
||
#firstHeading { |
#firstHeading { |
||
margin:18px 0 12px 0; |
|||
background: repeating-linear-gradient( |
|||
padding:14px 18px; |
|||
90deg, |
|||
font-weight:700; |
|||
var(--rubik-yellow) 0 33%, |
|||
font-size:1.55rem; |
|||
var(--rubik-orange) 33% 66%, |
|||
color:var(--rubik-dark); |
|||
background:repeating-linear-gradient(90deg, var(--rubik-yellow) 0 33%, var(--rubik-orange) 33% 66%, var(--rubik-red) 66% 100%); |
|||
); |
|||
border:2px solid var(--rubik-border); |
|||
border-left:10px solid var(--rubik-blue); |
|||
padding: 14px 18px; |
|||
border-right:10px solid var(--rubik-green); |
|||
margin: 0 -1px 12px -1px; |
|||
border-radius:8px; |
|||
box-shadow:0 4px 0 var(--rubik-soft-shadow); |
|||
border-left: 8px solid var(--rubik-blue); |
|||
border-right: 8px solid var(--rubik-green); |
|||
box-shadow: 0 4px 0 rgba(0,0,0,0.12); |
|||
} |
} |
||
/* Si le titre est dans un skin différent */ |
|||
/* --- Boîtes d'info et infoboxes --- */ |
|||
.mw-page-title, .page-header__title { display:block; padding:12px; } |
|||
.infobox, .portable-infobox, .mw-portlet, .toc { |
|||
background: linear-gradient(180deg, var(--rubik-white), #fbfbfb); |
|||
border: 2px solid var(--rubik-border); |
|||
border-radius: 4px; |
|||
box-shadow: 0 2px 0 rgba(0,0,0,0.06); |
|||
} |
|||
/* Tentative automatique pour structurer trois sections principales. |
|||
/* --- Titres de sections dans boîtes --- */ |
|||
On cible les premiers h2/h3 visibles afin de les transformer en "cartes". |
|||
.infobox caption, .portable-infobox .pi-title, .mw-portlet h3 { |
|||
Le CSS marche mieux si les sections ont des id ou titres standards. */ |
|||
background: var(--rubik-blue); |
|||
.rubik-autogrid { |
|||
color: var(--rubik-white); |
|||
display:grid; |
|||
padding: 6px 10px; |
|||
grid-template-columns:repeat(3,1fr); |
|||
font-weight: 600; |
|||
gap:16px; |
|||
border-bottom: 2px solid rgba(0,0,0,0.06); |
|||
margin-bottom:18px; |
|||
border-radius: 3px 3px 0 0; |
|||
} |
} |
||
@media (max-width:980px){ .rubik-autogrid { grid-template-columns:1fr; } } |
|||
/* Création dynamique : on stylise les éléments h2 + bloc suivant (parsé visuellement) */ |
|||
/* --- Boutons et onglets carrés --- */ |
|||
#mw-content-text > h2, #mw-content-text > h3 { |
|||
.mw-ui-button, .vector-menu, #p-cactions li a, .mw-portlet a { |
|||
margin-top:18px; |
|||
background: linear-gradient(180deg, var(--rubik-white), #f0f0f0); |
|||
padding:0; |
|||
border: 2px solid var(--rubik-border); |
|||
font-weight:700; |
|||
color: var(--rubik-dark); |
|||
} |
|||
padding: 6px 10px; |
|||
#mw-content-text > h2 + div, #mw-content-text > h3 + div, |
|||
border-radius: 4px; |
|||
#mw-content-text > h2 + p, #mw-content-text > h3 + p { |
|||
margin: 2px; |
|||
/* convertit le bloc suivant en "carte" visuelle */ |
|||
text-decoration: none; |
|||
background:linear-gradient(180deg,var(--rubik-white),#fcfcfc); |
|||
box-shadow: 0 3px 0 rgba(0,0,0,0.08); |
|||
border:2px solid var(--rubik-border); |
|||
display: inline-block; |
|||
border-radius:8px; |
|||
padding:12px; |
|||
box-shadow:0 3px 0 var(--rubik-soft-shadow); |
|||
margin-bottom:8px; |
|||
} |
} |
||
/* Si la page contient trois sections en tête, on force l'affichage en grille : |
|||
/* Hover actif pour boutons rappelant sticker color */ |
|||
on applique la grille quand on trouve exactement 3 premiers blocs structurés. */ |
|||
.mw-ui-button:hover, .vector-menu a:hover, #p-cactions li a:hover { |
|||
#mw-content-text > h2:nth-of-type(1), |
|||
transform: translateY(-2px); |
|||
#mw-content-text > h2:nth-of-type(2), |
|||
transition: transform .12s ease, box-shadow .12s ease; |
|||
#mw-content-text > h2:nth-of-type(3) { |
|||
box-shadow: 0 6px 0 rgba(0,0,0,0.12); |
|||
/* marqueurs visuels — rien de disruptif */ |
|||
} |
|||
@supports (display:grid){ |
|||
/* Wrapper visuel: on crée l'apparence en ciblant les trois premières sections si elles existent */ |
|||
#mw-content-text > h2:nth-of-type(1), |
|||
#mw-content-text > h2:nth-of-type(2), |
|||
#mw-content-text > h2:nth-of-type(3) { |
|||
/* conservé pour compatibilité ; le layout réel se fait via le parent s'il existe */ |
|||
} |
|||
} |
} |
||
/* Titres de section "sticker" — coloriage automatique selon l'ordre */ |
|||
/* Boutons colorés précis */ |
|||
#mw-content-text > h2:nth-of-type(1)::before { content:""; display:inline-block; width:12px; height:12px; background:var(--rubik-blue); margin-right:8px; vertical-align:middle; border-radius:2px;} |
|||
.btn-rubik-yellow { background: var(--rubik-yellow); color: var(--rubik-dark); border-color: rgba(0,0,0,0.08); } |
|||
#mw-content-text > h2:nth-of-type(2)::before { content:""; display:inline-block; width:12px; height:12px; background:var(--rubik-yellow); margin-right:8px; vertical-align:middle; border-radius:2px;} |
|||
.btn-rubik-orange { background: var(--rubik-orange); color: var(--rubik-white); border-color: rgba(0,0,0,0.08); } |
|||
#mw-content-text > h2:nth-of-type(3)::before { content:""; display:inline-block; width:12px; height:12px; background:var(--rubik-orange); margin-right:8px; vertical-align:middle; border-radius:2px;} |
|||
.btn-rubik-red { background: var(--rubik-red); color: var(--rubik-white); border-color: rgba(0,0,0,0.08); } |
|||
.btn-rubik-green { background: var(--rubik-green); color: var(--rubik-white); border-color: rgba(0,0,0,0.08); } |
|||
.btn-rubik-blue { background: var(--rubik-blue); color: var(--rubik-white); border-color: rgba(0,0,0,0.08); } |
|||
/* |
/* Liens / boutons — styles discrets */ |
||
.mw-body-content a, a.external, #p-views a { color:var(--rubik-blue); text-decoration:none; border-bottom:1px dotted rgba(0,0,0,0.06); } |
|||
a, .mw-body-content a { |
|||
color: |
.mw-body-content a:hover { color:var(--rubik-red); text-decoration:underline; } |
||
text-decoration: none; |
|||
border-bottom: 2px dotted rgba(0,0,0,0.06); |
|||
} |
|||
a:hover { color: var(--rubik-red); text-decoration: underline; } |
|||
/* Liste des langues (générique : interlanguage links ou portlet) */ |
|||
/* --- Tableau de style carré (pour listes de faces) --- */ |
|||
#p-lang, .interlanguage-link-target, .langlist, .mw-langlist { |
|||
.rubik-grid { |
|||
display: |
display:block; |
||
grid-template-columns: repeat(3, 28px); |
|||
grid-gap: 6px; |
|||
align-items: center; |
|||
justify-content: start; |
|||
} |
} |
||
.rubik- |
.rubik-langlist { |
||
display:grid; |
|||
grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); |
|||
height: 28px; |
|||
gap:8px; |
|||
border: 2px solid rgba(0,0,0,0.08); |
|||
margin-top:12px; |
|||
box-shadow: 0 3px 0 rgba(0,0,0,0.08); |
|||
} |
|||
.rubik-langlist a, .mw-langlist a { |
|||
display:block; |
|||
padding:8px 10px; |
|||
background:var(--rubik-white); |
|||
border:1px solid var(--rubik-border); |
|||
border-radius:6px; |
|||
text-decoration:none; |
|||
color:var(--rubik-dark); |
|||
box-shadow:0 2px 0 var(--rubik-soft-shadow); |
|||
margin-bottom:4px; |
|||
} |
} |
||
/* Tentative : transformer le bloc #p-lang en grille visuelle (si présent) */ |
|||
/* Exemples de couleurs pour utiliser dans le markup wiki */ |
|||
#p-lang .body, #p-lang ul, #p-lang { padding:0; } |
|||
.rubik-white { background: var(--rubik-white); } |
|||
#p-lang ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; list-style:none; padding-left:0; margin:0; } |
|||
.rubik-yellow { background: var(--rubik-yellow); } |
|||
#p-lang ul li a { display:block; padding:6px 8px; background:var(--rubik-white); border:1px solid var(--rubik-border); border-radius:6px; } |
|||
.rubik-red { background: var(--rubik-red); } |
|||
.rubik-green { background: var(--rubik-green); } |
|||
.rubik-blue { background: var(--rubik-blue); } |
|||
/* Mini face 3x3 utilitaire (si tu veux l'insérer manuellement plus tard) */ |
|||
/* --- Pied de page --- */ |
|||
.rubik-grid { display:grid; grid-template-columns:repeat(3,26px); gap:6px; } |
|||
#footer { |
|||
.rubik-cell { width:26px;height:26px;border:1px solid rgba(0,0,0,0.06); border-radius:3px; box-shadow:0 2px 0 rgba(0,0,0,0.03); } |
|||
background: linear-gradient(90deg, #f9f9f9, #ffffff); |
|||
.rubik-white{background:var(--rubik-white);} .rubik-yellow{background:var(--rubik-yellow);} .rubik-orange{background:var(--rubik-orange);} |
|||
border-top: 3px solid var(--rubik-border); |
|||
.rubik-red{background:var(--rubik-red);} .rubik-green{background:var(--rubik-green);} .rubik-blue{background:var(--rubik-blue);} |
|||
padding: 12px; |
|||
color: #333; |
|||
font-size: .9em; |
|||
} |
|||
/* Footer léger */ |
|||
/* --- Réactivité minimale --- */ |
|||
#footer { margin-top:18px; padding:12px 0; border-top:1px solid var(--rubik-border); color:#333; font-size:.95rem; } |
|||
@media (max-width:720px) { |
|||
#firstHeading { padding: 10px 12px; font-size: 1.1em; } |
|||
/* Réactivité : empilement sur petit écran */ |
|||
.rubik-grid { grid-template-columns: repeat(3, 22px); grid-gap: 4px; } |
|||
@media (max-width:980px){ |
|||
.rubik-cell { width: 22px; height: 22px; } |
|||
#firstHeading { font-size:1.3rem; padding:12px; } |
|||
#p-lang ul { grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); } |
|||
.rubik-grid { grid-template-columns:repeat(3,22px); gap:4px; } |
|||
.rubik-cell{ width:22px; height:22px; } |
|||
} |
} |
||
/* --- Nettoyage visuel pour éléments par défaut perturbants --- */ |
|||
.sidebar, .mw-navigation, .mw-indicators { border-radius: 4px; } |
|||
Latest revision as of 20:57, 3 November 2025
/* Palette */
:root{
--rubik-white:#ffffff;
--rubik-yellow:#ffd500;
--rubik-orange:#ff6a00;
--rubik-red:#d40000;
--rubik-green:#009b48;
--rubik-blue:#0051ba;
--rubik-dark:#1b1b1b;
--rubik-border:#d8d8d8;
--rubik-surface:#fbfbfb;
--rubik-soft-shadow:rgba(0,0,0,0.04);
--rubik-max-width:1150px;
}
/* Base safe */
body { background: var(--rubik-surface); color:var(--rubik-dark); font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
/* Centre le contenu principal */
#content, .mw-body { max-width:var(--rubik-max-width); margin:18px auto; padding:0 16px; box-sizing:border-box; }
/* Titre de page — transformé en bandeau Rubik */
#firstHeading {
margin:18px 0 12px 0;
padding:14px 18px;
font-weight:700;
font-size:1.55rem;
color:var(--rubik-dark);
background:repeating-linear-gradient(90deg, var(--rubik-yellow) 0 33%, var(--rubik-orange) 33% 66%, var(--rubik-red) 66% 100%);
border:2px solid var(--rubik-border);
border-left:10px solid var(--rubik-blue);
border-right:10px solid var(--rubik-green);
border-radius:8px;
box-shadow:0 4px 0 var(--rubik-soft-shadow);
}
/* Si le titre est dans un skin différent */
.mw-page-title, .page-header__title { display:block; padding:12px; }
/* Tentative automatique pour structurer trois sections principales.
On cible les premiers h2/h3 visibles afin de les transformer en "cartes".
Le CSS marche mieux si les sections ont des id ou titres standards. */
.rubik-autogrid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-bottom:18px;
}
@media (max-width:980px){ .rubik-autogrid { grid-template-columns:1fr; } }
/* Création dynamique : on stylise les éléments h2 + bloc suivant (parsé visuellement) */
#mw-content-text > h2, #mw-content-text > h3 {
margin-top:18px;
padding:0;
font-weight:700;
}
#mw-content-text > h2 + div, #mw-content-text > h3 + div,
#mw-content-text > h2 + p, #mw-content-text > h3 + p {
/* convertit le bloc suivant en "carte" visuelle */
background:linear-gradient(180deg,var(--rubik-white),#fcfcfc);
border:2px solid var(--rubik-border);
border-radius:8px;
padding:12px;
box-shadow:0 3px 0 var(--rubik-soft-shadow);
margin-bottom:8px;
}
/* Si la page contient trois sections en tête, on force l'affichage en grille :
on applique la grille quand on trouve exactement 3 premiers blocs structurés. */
#mw-content-text > h2:nth-of-type(1),
#mw-content-text > h2:nth-of-type(2),
#mw-content-text > h2:nth-of-type(3) {
/* marqueurs visuels — rien de disruptif */
}
@supports (display:grid){
/* Wrapper visuel: on crée l'apparence en ciblant les trois premières sections si elles existent */
#mw-content-text > h2:nth-of-type(1),
#mw-content-text > h2:nth-of-type(2),
#mw-content-text > h2:nth-of-type(3) {
/* conservé pour compatibilité ; le layout réel se fait via le parent s'il existe */
}
}
/* Titres de section "sticker" — coloriage automatique selon l'ordre */
#mw-content-text > h2:nth-of-type(1)::before { content:""; display:inline-block; width:12px; height:12px; background:var(--rubik-blue); margin-right:8px; vertical-align:middle; border-radius:2px;}
#mw-content-text > h2:nth-of-type(2)::before { content:""; display:inline-block; width:12px; height:12px; background:var(--rubik-yellow); margin-right:8px; vertical-align:middle; border-radius:2px;}
#mw-content-text > h2:nth-of-type(3)::before { content:""; display:inline-block; width:12px; height:12px; background:var(--rubik-orange); margin-right:8px; vertical-align:middle; border-radius:2px;}
/* Liens / boutons — styles discrets */
.mw-body-content a, a.external, #p-views a { color:var(--rubik-blue); text-decoration:none; border-bottom:1px dotted rgba(0,0,0,0.06); }
.mw-body-content a:hover { color:var(--rubik-red); text-decoration:underline; }
/* Liste des langues (générique : interlanguage links ou portlet) */
#p-lang, .interlanguage-link-target, .langlist, .mw-langlist {
display:block;
}
.rubik-langlist {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
gap:8px;
margin-top:12px;
}
.rubik-langlist a, .mw-langlist a {
display:block;
padding:8px 10px;
background:var(--rubik-white);
border:1px solid var(--rubik-border);
border-radius:6px;
text-decoration:none;
color:var(--rubik-dark);
box-shadow:0 2px 0 var(--rubik-soft-shadow);
margin-bottom:4px;
}
/* Tentative : transformer le bloc #p-lang en grille visuelle (si présent) */
#p-lang .body, #p-lang ul, #p-lang { padding:0; }
#p-lang ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; list-style:none; padding-left:0; margin:0; }
#p-lang ul li a { display:block; padding:6px 8px; background:var(--rubik-white); border:1px solid var(--rubik-border); border-radius:6px; }
/* Mini face 3x3 utilitaire (si tu veux l'insérer manuellement plus tard) */
.rubik-grid { display:grid; grid-template-columns:repeat(3,26px); gap:6px; }
.rubik-cell { width:26px;height:26px;border:1px solid rgba(0,0,0,0.06); border-radius:3px; box-shadow:0 2px 0 rgba(0,0,0,0.03); }
.rubik-white{background:var(--rubik-white);} .rubik-yellow{background:var(--rubik-yellow);} .rubik-orange{background:var(--rubik-orange);}
.rubik-red{background:var(--rubik-red);} .rubik-green{background:var(--rubik-green);} .rubik-blue{background:var(--rubik-blue);}
/* Footer léger */
#footer { margin-top:18px; padding:12px 0; border-top:1px solid var(--rubik-border); color:#333; font-size:.95rem; }
/* Réactivité : empilement sur petit écran */
@media (max-width:980px){
#firstHeading { font-size:1.3rem; padding:12px; }
#p-lang ul { grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); }
.rubik-grid { grid-template-columns:repeat(3,22px); gap:4px; }
.rubik-cell{ width:22px; height:22px; }
}