Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Modèle:Button/styles.css » : différence entre les versions

De Nefald
Agrado (discussion | contributions)
adaptation hauteur sans logo
Hiob (discussion | contributions)
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;           /* LARGEUR FIXE */
     width: 200px;
     height: 50px;           /* HAUTEUR FIXE */
     height: 50px;
     margin: 0 auto 0.5rem;
     margin: 0 auto 0.5rem;
     overflow: hidden;       /* Cache ce qui dépasse */
     overflow: hidden;
}
}


/* IMAGE RESPONSIVE DANS LE CONTENEUR */
/* IMAGE RESPONSIVE DANS LE CONTENEUR */
.button-link-content img {
.button-link-content img {
     max-width: 100%;       /* Ne dépasse pas le conteneur */
     max-width: 100%;
     max-height: 100%;       /* Ne dépasse pas le conteneur */
     max-height: 100%;
     width: auto !important;
     width: auto !important;
     height: auto !important;
     height: auto !important;
     object-fit: contain;   /* Garde les proportions */
     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; } /* Danger */
.button-link--danger { background: #dc3545; }
.button-link--dark { background: #343a40; } /* Dark */
.button-link--dark { background: #343a40; }
.button-link--info { background: #17a2b8; } /* Info */
.button-link--info { background: #17a2b8; }
.button-link--light { background: #f8f9fa; color: #000 !important; } /* Light */
.button-link--success { background: #28a745; }
.button-link--primary { background: #007bff; } /* Primary */
.button-link--warning {  
.button-link--secondary { background: #6c757d; } /* Secondary */
    background: #ffc107;  
.button-link--success { background: #28a745; } /* Success */
    color: #000 !important;  
.button-link--warning { background: #ffc107; color: #000 !important; } /* Warning */
}
 
.button-link--warning .button-link-content a {
    color: #000 !important;
}


/* ========== RÉSEAUX SOCIAUX ========== */
/* ========== RÉSEAUX SOCIAUX ========== */
.button-link--bluesky { background: #0085ff; } /* Bluesky */
.button-link--bluesky { background: #0085ff; }
.button-link--discord { background: #5865f2; } /* Discord */
.button-link--discord { background: #5865f2; }
.button-link--facebook { background: #1877f2; } /* Facebook */
.button-link--facebook { background: #1877f2; }
.button-link--instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); } /* Instagram */
.button-link--instagram {  
.button-link--linkedin { background: #0077b5; } /* LinkedIn */
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);  
.button-link--mastodon { background: #6364ff; } /* Mastodon */
}
.button-link--reddit { background: #ff4500; } /* Reddit */
.button-link--linkedin { background: #0077b5; }
.button-link--snapchat { background: #fffc00; color: #000 !important; } /* Snapchat */
.button-link--mastodon { background: #6364ff; }
.button-link--threads { background: #000000; } /* Threads */
.button-link--reddit { background: #ff4500; }
.button-link--tiktok { background: #000000; } /* TikTok */
.button-link--snapchat {  
.button-link--twitch { background: #9146ff; } /* Twitch */
    background: #fffc00;  
.button-link--twitter { background: #1da1f2; } /* Twitter */
    color: #000 !important;  
.button-link--youtube { background: #ff0000; } /* YouTube */
}
.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; } /* GitHub */
.button-link--github { background: #24292e; }
.button-link--gitlab { background: #fc6f23; } /* GitLab */
.button-link--gitlab { background: #fc6f23; }


/* ========== SERVICES DE DÉVELOPPEMENT ========== */
/* ========== SERVICES DE DÉVELOPPEMENT ========== */
.button-link--codepen { background: #ffffff; } /* CodePen */
.button-link--codepen { background: #ffffff; }
.button-link--docker { background: #2496ed; } /* Docker */
.button-link--docker { background: #2496ed; }
.button-link--gradle { background: #02303a; } /* Gradle */
.button-link--gradle { background: #02303a; }
.button-link--jenkins { background: #d24939; } /* Jenkins */
.button-link--jenkins { background: #d24939; }
.button-link--kubernetes { background: #326ce5; } /* Kubernetes */
.button-link--kubernetes { background: #326ce5; }
.button-link--maven { background: #c71a36; } /* Maven */
.button-link--maven { background: #c71a36; }
.button-link--npm { background: #cb3837; } /* NPM */
.button-link--npm { background: #cb3837; }
.button-link--stackoverflow { background: #f48024; } /* Stack Overflow */
.button-link--stackoverflow { background: #f48024; }


/* ========== MINECRAFT MODLOADERS ========== */
/* ========== MINECRAFT MODLOADERS ========== */
.button-link--fabric { background: #dbd3c8; } /* Fabric */
.button-link--fabric { background: #dbd3c8; }
.button-link--forge { background: #1e2c42; } /* Forge */
.button-link--forge { background: #1e2c42; }
.button-link--minecraft { background: #62b47a; } /* Minecraft */
.button-link--minecraft { background: #62b47a; }
.button-link--neoforge { background: #ff6b35; } /* NeoForge */
.button-link--neoforge { background: #ff6b35; }
.button-link--quilt { background: #8b5cf6; } /* Quilt */
.button-link--quilt { background: #8b5cf6; }


/* ========== PLATEFORMES DE PLUGINS ========== */
/* ========== PLATEFORMES DE PLUGINS ========== */
.button-link--bukkit { background: #f7931e; } /* Bukkit */
.button-link--bukkit { background: #f7931e; }
.button-link--curseforge { background: #f16436; } /* CurseForge */
.button-link--curseforge { background: #f16436; }
.button-link--github-releases { background: #238636; } /* GitHub Releases */
.button-link--github-releases { background: #238636; }
.button-link--hangar { background: #0089ff; } /* Hangar */
.button-link--hangar { background: #0089ff; }
.button-link--modrinth { background: #1bd96a; } /* Modrinth */
.button-link--modrinth { background: #1bd96a; }
.button-link--paper { background: #1a8cff; } /* Paper */
.button-link--paper { background: #1a8cff; }
.button-link--polymart { background: #2196f3; } /* Polymart */
.button-link--polymart { background: #2196f3; }
.button-link--purpur { background: #a855f7; } /* Purpur */
.button-link--purpur { background: #a855f7; }
.button-link--spigot { background: #ed8106; } /* Spigot */
.button-link--spigot { background: #ed8106; }


/* ========== PLATEFORMES DE FINANCEMENT ========== */
/* ========== PLATEFORMES DE FINANCEMENT ========== */
.button-link--buymeacoffee { background: #ffdd00; } /* Buy Me a Coffee */
.button-link--buymeacoffee { background: #ffdd00; }
.button-link--helloasso { background: #4C40CF; } /* HelloAsso */
.button-link--helloasso { background: #4C40CF; }
.button-link--helloasso:hover { background: #3d3fc7; } /* HelloAsso (hover) */
.button-link--helloasso:hover { background: #3d3fc7; }
.button-link--kofi { background: #ff5e5b; } /* Ko-fi */
.button-link--kofi { background: #ff5e5b; }
.button-link--liberapay { background: #f6c915; } /* Liberapay */
.button-link--liberapay { background: #f6c915; }
.button-link--opencollective { background: #7fadf2; } /* Open Collective */
.button-link--opencollective { background: #7fadf2; }
.button-link--patreon { background: #ff424d; } /* Patreon */
.button-link--patreon { background: #ff424d; }
.button-link--paypal { background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%); } /* PayPal */
.button-link--paypal {  
.button-link--paypal:hover { background: linear-gradient(135deg, #005ea6 0%, #003087 100%); } /* PayPal (hover) */
    background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%);  
.button-link--qonto { background: #1d1d1dff; } /* Qonto */
}
/*.button-link--qonto:hover { background: #8D8D8C; }  Qonto */
.button-link--paypal:hover {  
.button-link--stripe { background: #635BFF; } /* Stripe */
    background: linear-gradient(135deg, #005ea6 0%, #003087 100%);  
}
.button-link--qonto { background: #1d1d1dff; }
.button-link--stripe { background: #635BFF; }


/* ============================================
/* ============================================
   ALIGNEMENT + WIDTH FIXE
   ALIGNEMENT + WIDTH FIXE
   ============================================ */
   ============================================ */
/* Gauche */
.button-link--align-left {
.button-link--align-left {
     width: 300px;
     width: 300px;
Ligne 149 : Ligne 195 :
}
}


/* Centre */
.button-link--align-center {
.button-link--align-center {
     width: 300px;
     width: 300px;
Ligne 156 : Ligne 201 :
}
}


/* Droite */
.button-link--align-right {
.button-link--align-right {
     width: 300px;
     width: 300px;
Ligne 163 : Ligne 207 :
}
}


/* --- Hauteur personnalisée: on force wrapper + zone cliquable à suivre --- */
/* ============================================
.button-link-wrapper {
  HAUTEUR PERSONNALISÉE + NO-LOGO
  /* ton min-height:80px reste la valeur par défaut */
   ============================================ */
}
 
.button-link-wrapper .button-link-content,
.button-link-wrapper .button-link-content a {
  height: 100%;
}
 
/* Quand on veut des boutons très bas, c’est le padding qui bloque.
   On prévoit une classe no-logo qui réduit le padding. */
.button-link-wrapper.button-link--no-logo .button-link-content {
.button-link-wrapper.button-link--no-logo .button-link-content {
  padding: 0.35rem 1rem; /* réduit verticalement, garde un peu d’air */
    padding: 0.35rem 1rem;
}
}


/* Option: si tu veux pouvoir descendre encore plus bas */
.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;
    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;
}
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.