« Modèle:Button/styles.css » : différence entre les versions
De Nefald
Autres actions
adaptation hauteur sans logo |
m Couleur par défaut du Skin Citizen OKLCH https://starcitizentools.github.io/mediawiki-skins-Citizen/customization/theming |
||
| Ligne 1 : | Ligne 1 : | ||
/* ============================================ | |||
VARIABLES CSS (wrapper pour TemplateStylesExtender) | |||
============================================ */ | |||
.button-link-vars { | |||
--btn-progressive: oklch(var(--color-progressive-oklch__l) var(--color-progressive-oklch__c) var(--color-progressive-oklch__h)); | |||
--btn-surface-1: var(--color-surface-1); | |||
--btn-surface-2: var(--color-surface-2); | |||
--btn-text: var(--color-surface-0); | |||
} | |||
/* ============================================ | |||
BOUTON - Base | |||
============================================ */ | |||
.button-link-wrapper { | .button-link-wrapper { | ||
min-height: 80px; | min-height: 80px; | ||
| Ligne 6 : | Ligne 19 : | ||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||
position: relative; | position: relative; | ||
background: #6c757d; | background: var(--btn-surface-2, #6c757d); | ||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
| Ligne 19 : | Ligne 32 : | ||
.button-link-content { | .button-link-content { | ||
width: 100%; | width: 100%; | ||
height: 100%; | |||
text-align: center; | text-align: center; | ||
padding: 1rem; | padding: 1rem; | ||
| Ligne 24 : | Ligne 38 : | ||
.button-link-content a { | .button-link-content a { | ||
color: white !important; | color: var(--btn-text, white) !important; | ||
text-decoration: none !important; | text-decoration: none !important; | ||
display: flex; | display: flex; | ||
| Ligne 30 : | Ligne 44 : | ||
align-items: center; | align-items: center; | ||
justify-content: center; | justify-content: center; | ||
height: 100%; | |||
} | } | ||
.button-link-content a:hover, | .button-link-content a:hover, | ||
.button-link-content a:visited { | .button-link-content a:visited { | ||
color: white !important; | color: var(--btn-text, white) !important; | ||
} | } | ||
| Ligne 42 : | Ligne 57 : | ||
align-items: center; | align-items: center; | ||
justify-content: center; | justify-content: center; | ||
width: 200px; | width: 200px; | ||
height: 50px; | height: 50px; | ||
margin: 0 auto 0.5rem; | margin: 0 auto 0.5rem; | ||
overflow: hidden; | overflow: hidden; | ||
} | } | ||
/* IMAGE RESPONSIVE DANS LE CONTENEUR */ | /* IMAGE RESPONSIVE DANS LE CONTENEUR */ | ||
.button-link-content img { | .button-link-content img { | ||
max-width: 100%; | max-width: 100%; | ||
max-height: 100%; | max-height: 100%; | ||
width: auto !important; | width: auto !important; | ||
height: auto !important; | height: auto !important; | ||
object-fit: contain; | object-fit: contain; | ||
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)); | filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)); | ||
} | } | ||
| Ligne 66 : | Ligne 81 : | ||
COULEURS PRÉDÉFINIES | COULEURS PRÉDÉFINIES | ||
============================================ */ | ============================================ */ | ||
/* ========== COULEURS CITIZEN (Variables dynamiques) ========== */ | |||
.button-link--primary { | |||
background: var(--btn-progressive, #007bff); | |||
} | |||
.button-link--secondary { | |||
background: var(--btn-surface-2, #6c757d); | |||
} | |||
.button-link--light { | |||
background: var(--btn-surface-1, #f8f9fa); | |||
color: var(--color-base, #000) !important; | |||
} | |||
.button-link--light .button-link-content a { | |||
color: var(--color-base, #000) !important; | |||
} | |||
/* ========== COULEURS GÉNÉRIQUES ========== */ | /* ========== COULEURS GÉNÉRIQUES ========== */ | ||
.button-link--danger { background: #dc3545; } | .button-link--danger { background: #dc3545; } | ||
.button-link--dark { background: #343a40; } | .button-link--dark { background: #343a40; } | ||
.button-link--info { background: #17a2b8; } | .button-link--info { background: #17a2b8; } | ||
.button-link-- | .button-link--success { background: #28a745; } | ||
.button-link-- | .button-link--warning { | ||
background: #ffc107; | |||
.button-link-- | color: #000 !important; | ||
.button-link- | } | ||
.button-link--warning .button-link-content a { | |||
color: #000 !important; | |||
} | |||
/* ========== RÉSEAUX SOCIAUX ========== */ | /* ========== RÉSEAUX SOCIAUX ========== */ | ||
.button-link--bluesky { background: #0085ff; } | .button-link--bluesky { background: #0085ff; } | ||
.button-link--discord { background: #5865f2; } | .button-link--discord { background: #5865f2; } | ||
.button-link--facebook { background: #1877f2; } | .button-link--facebook { background: #1877f2; } | ||
.button-link--instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); } | .button-link--instagram { | ||
.button-link--linkedin { background: #0077b5; } | background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); | ||
.button-link--mastodon { background: #6364ff; } | } | ||
.button-link--reddit { background: #ff4500; } | .button-link--linkedin { background: #0077b5; } | ||
.button-link--snapchat { background: #fffc00; color: #000 !important; } | .button-link--mastodon { background: #6364ff; } | ||
.button-link--threads { background: #000000; } | .button-link--reddit { background: #ff4500; } | ||
.button-link--tiktok { background: #000000; } | .button-link--snapchat { | ||
.button-link--twitch { background: #9146ff; } | background: #fffc00; | ||
.button-link--twitter { background: #1da1f2; } | color: #000 !important; | ||
.button-link--youtube { background: #ff0000; } | } | ||
.button-link--snapchat .button-link-content a { | |||
color: #000 !important; | |||
} | |||
.button-link--threads { background: #000000; } | |||
.button-link--tiktok { background: #000000; } | |||
.button-link--twitch { background: #9146ff; } | |||
.button-link--twitter { background: #1da1f2; } | |||
.button-link--youtube { background: #ff0000; } | |||
/* ========== HÉBERGEMENT DE CODE ========== */ | /* ========== HÉBERGEMENT DE CODE ========== */ | ||
.button-link--github { background: #24292e; } | .button-link--github { background: #24292e; } | ||
.button-link--gitlab { background: #fc6f23; } | .button-link--gitlab { background: #fc6f23; } | ||
/* ========== SERVICES DE DÉVELOPPEMENT ========== */ | /* ========== SERVICES DE DÉVELOPPEMENT ========== */ | ||
.button-link--codepen { background: #ffffff; } | .button-link--codepen { background: #ffffff; } | ||
.button-link--docker { background: #2496ed; } | .button-link--docker { background: #2496ed; } | ||
.button-link--gradle { background: #02303a; } | .button-link--gradle { background: #02303a; } | ||
.button-link--jenkins { background: #d24939; } | .button-link--jenkins { background: #d24939; } | ||
.button-link--kubernetes { background: #326ce5; } | .button-link--kubernetes { background: #326ce5; } | ||
.button-link--maven { background: #c71a36; } | .button-link--maven { background: #c71a36; } | ||
.button-link--npm { background: #cb3837; } | .button-link--npm { background: #cb3837; } | ||
.button-link--stackoverflow { background: #f48024; } | .button-link--stackoverflow { background: #f48024; } | ||
/* ========== MINECRAFT MODLOADERS ========== */ | /* ========== MINECRAFT MODLOADERS ========== */ | ||
.button-link--fabric { background: #dbd3c8; } | .button-link--fabric { background: #dbd3c8; } | ||
.button-link--forge { background: #1e2c42; } | .button-link--forge { background: #1e2c42; } | ||
.button-link--minecraft { background: #62b47a; } | .button-link--minecraft { background: #62b47a; } | ||
.button-link--neoforge { background: #ff6b35; } | .button-link--neoforge { background: #ff6b35; } | ||
.button-link--quilt { background: #8b5cf6; } | .button-link--quilt { background: #8b5cf6; } | ||
/* ========== PLATEFORMES DE PLUGINS ========== */ | /* ========== PLATEFORMES DE PLUGINS ========== */ | ||
.button-link--bukkit { background: #f7931e; } | .button-link--bukkit { background: #f7931e; } | ||
.button-link--curseforge { background: #f16436; } | .button-link--curseforge { background: #f16436; } | ||
.button-link--github-releases { background: #238636; } | .button-link--github-releases { background: #238636; } | ||
.button-link--hangar { background: #0089ff; } | .button-link--hangar { background: #0089ff; } | ||
.button-link--modrinth { background: #1bd96a; } | .button-link--modrinth { background: #1bd96a; } | ||
.button-link--paper { background: #1a8cff; } | .button-link--paper { background: #1a8cff; } | ||
.button-link--polymart { background: #2196f3; } | .button-link--polymart { background: #2196f3; } | ||
.button-link--purpur { background: #a855f7; } | .button-link--purpur { background: #a855f7; } | ||
.button-link--spigot { background: #ed8106; } | .button-link--spigot { background: #ed8106; } | ||
/* ========== PLATEFORMES DE FINANCEMENT ========== */ | /* ========== PLATEFORMES DE FINANCEMENT ========== */ | ||
.button-link--buymeacoffee { background: #ffdd00; } | .button-link--buymeacoffee { background: #ffdd00; } | ||
.button-link--helloasso { background: #4C40CF; } | .button-link--helloasso { background: #4C40CF; } | ||
.button-link--helloasso:hover { background: #3d3fc7; } | .button-link--helloasso:hover { background: #3d3fc7; } | ||
.button-link--kofi { background: #ff5e5b; } | .button-link--kofi { background: #ff5e5b; } | ||
.button-link--liberapay { background: #f6c915; } | .button-link--liberapay { background: #f6c915; } | ||
.button-link--opencollective { background: #7fadf2; } | .button-link--opencollective { background: #7fadf2; } | ||
.button-link--patreon { background: #ff424d; } | .button-link--patreon { background: #ff424d; } | ||
.button-link--paypal { background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%); } | .button-link--paypal { | ||
.button-link--paypal:hover { background: linear-gradient(135deg, #005ea6 0%, #003087 100%); } | background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%); | ||
.button-link--qonto { background: #1d1d1dff; } | } | ||
.button-link--paypal:hover { | |||
.button-link--stripe { background: #635BFF; } | background: linear-gradient(135deg, #005ea6 0%, #003087 100%); | ||
} | |||
.button-link--qonto { background: #1d1d1dff; } | |||
.button-link--stripe { background: #635BFF; } | |||
/* ============================================ | /* ============================================ | ||
ALIGNEMENT + WIDTH FIXE | ALIGNEMENT + WIDTH FIXE | ||
============================================ */ | ============================================ */ | ||
.button-link--align-left { | .button-link--align-left { | ||
width: 300px; | width: 300px; | ||
| Ligne 149 : | Ligne 195 : | ||
} | } | ||
.button-link--align-center { | .button-link--align-center { | ||
width: 300px; | width: 300px; | ||
| Ligne 156 : | Ligne 201 : | ||
} | } | ||
.button-link--align-right { | .button-link--align-right { | ||
width: 300px; | width: 300px; | ||
| Ligne 163 : | Ligne 207 : | ||
} | } | ||
/* | /* ============================================ | ||
HAUTEUR PERSONNALISÉE + NO-LOGO | |||
============================================ */ | |||
.button-link-wrapper.button-link--no-logo .button-link-content { | .button-link-wrapper.button-link--no-logo .button-link-content { | ||
padding: 0.35rem 1rem; | |||
} | } | ||
.button-link-wrapper.button-link--no-logo .button-link-content a { | .button-link-wrapper.button-link--no-logo .button-link-content a { | ||
line-height: 1.1; | |||
} | } | ||
Version du 11 février 2026 à 13:15
/* ============================================
VARIABLES CSS (wrapper pour TemplateStylesExtender)
============================================ */
.button-link-vars {
--btn-progressive: oklch(var(--color-progressive-oklch__l) var(--color-progressive-oklch__c) var(--color-progressive-oklch__h));
--btn-surface-1: var(--color-surface-1);
--btn-surface-2: var(--color-surface-2);
--btn-text: var(--color-surface-0);
}
/* ============================================
BOUTON - Base
============================================ */
.button-link-wrapper {
min-height: 80px;
border-radius: 12px;
overflow: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
position: relative;
background: var(--btn-surface-2, #6c757d);
display: flex;
align-items: center;
justify-content: center;
}
.button-link-wrapper:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.button-link-content {
width: 100%;
height: 100%;
text-align: center;
padding: 1rem;
}
.button-link-content a {
color: var(--btn-text, white) !important;
text-decoration: none !important;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
}
.button-link-content a:hover,
.button-link-content a:visited {
color: var(--btn-text, white) !important;
}
/* CONTENEUR D'IMAGE DE TAILLE FIXE */
.button-link-content .mw-file-description {
display: flex;
align-items: center;
justify-content: center;
width: 200px;
height: 50px;
margin: 0 auto 0.5rem;
overflow: hidden;
}
/* IMAGE RESPONSIVE DANS LE CONTENEUR */
.button-link-content img {
max-width: 100%;
max-height: 100%;
width: auto !important;
height: auto !important;
object-fit: contain;
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
/* Masquer l'icône de lien externe */
.button-link-content a.external::after {
display: none !important;
}
/* ============================================
COULEURS PRÉDÉFINIES
============================================ */
/* ========== COULEURS CITIZEN (Variables dynamiques) ========== */
.button-link--primary {
background: var(--btn-progressive, #007bff);
}
.button-link--secondary {
background: var(--btn-surface-2, #6c757d);
}
.button-link--light {
background: var(--btn-surface-1, #f8f9fa);
color: var(--color-base, #000) !important;
}
.button-link--light .button-link-content a {
color: var(--color-base, #000) !important;
}
/* ========== COULEURS GÉNÉRIQUES ========== */
.button-link--danger { background: #dc3545; }
.button-link--dark { background: #343a40; }
.button-link--info { background: #17a2b8; }
.button-link--success { background: #28a745; }
.button-link--warning {
background: #ffc107;
color: #000 !important;
}
.button-link--warning .button-link-content a {
color: #000 !important;
}
/* ========== RÉSEAUX SOCIAUX ========== */
.button-link--bluesky { background: #0085ff; }
.button-link--discord { background: #5865f2; }
.button-link--facebook { background: #1877f2; }
.button-link--instagram {
background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.button-link--linkedin { background: #0077b5; }
.button-link--mastodon { background: #6364ff; }
.button-link--reddit { background: #ff4500; }
.button-link--snapchat {
background: #fffc00;
color: #000 !important;
}
.button-link--snapchat .button-link-content a {
color: #000 !important;
}
.button-link--threads { background: #000000; }
.button-link--tiktok { background: #000000; }
.button-link--twitch { background: #9146ff; }
.button-link--twitter { background: #1da1f2; }
.button-link--youtube { background: #ff0000; }
/* ========== HÉBERGEMENT DE CODE ========== */
.button-link--github { background: #24292e; }
.button-link--gitlab { background: #fc6f23; }
/* ========== SERVICES DE DÉVELOPPEMENT ========== */
.button-link--codepen { background: #ffffff; }
.button-link--docker { background: #2496ed; }
.button-link--gradle { background: #02303a; }
.button-link--jenkins { background: #d24939; }
.button-link--kubernetes { background: #326ce5; }
.button-link--maven { background: #c71a36; }
.button-link--npm { background: #cb3837; }
.button-link--stackoverflow { background: #f48024; }
/* ========== MINECRAFT MODLOADERS ========== */
.button-link--fabric { background: #dbd3c8; }
.button-link--forge { background: #1e2c42; }
.button-link--minecraft { background: #62b47a; }
.button-link--neoforge { background: #ff6b35; }
.button-link--quilt { background: #8b5cf6; }
/* ========== PLATEFORMES DE PLUGINS ========== */
.button-link--bukkit { background: #f7931e; }
.button-link--curseforge { background: #f16436; }
.button-link--github-releases { background: #238636; }
.button-link--hangar { background: #0089ff; }
.button-link--modrinth { background: #1bd96a; }
.button-link--paper { background: #1a8cff; }
.button-link--polymart { background: #2196f3; }
.button-link--purpur { background: #a855f7; }
.button-link--spigot { background: #ed8106; }
/* ========== PLATEFORMES DE FINANCEMENT ========== */
.button-link--buymeacoffee { background: #ffdd00; }
.button-link--helloasso { background: #4C40CF; }
.button-link--helloasso:hover { background: #3d3fc7; }
.button-link--kofi { background: #ff5e5b; }
.button-link--liberapay { background: #f6c915; }
.button-link--opencollective { background: #7fadf2; }
.button-link--patreon { background: #ff424d; }
.button-link--paypal {
background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%);
}
.button-link--paypal:hover {
background: linear-gradient(135deg, #005ea6 0%, #003087 100%);
}
.button-link--qonto { background: #1d1d1dff; }
.button-link--stripe { background: #635BFF; }
/* ============================================
ALIGNEMENT + WIDTH FIXE
============================================ */
.button-link--align-left {
width: 300px;
margin-right: auto;
margin-left: 0;
}
.button-link--align-center {
width: 300px;
margin-left: auto;
margin-right: auto;
}
.button-link--align-right {
width: 300px;
margin-left: auto;
margin-right: 0;
}
/* ============================================
HAUTEUR PERSONNALISÉE + NO-LOGO
============================================ */
.button-link-wrapper.button-link--no-logo .button-link-content {
padding: 0.35rem 1rem;
}
.button-link-wrapper.button-link--no-logo .button-link-content a {
line-height: 1.1;
}