« Modèle:IconButton/styles.css » : différence entre les versions
De Nefald
Autres actions
m icon width/height |
m Ajouts : paramètre "text" + couleurs prédéfinies |
||
| Ligne 4 : | Ligne 4 : | ||
.icon-button { | .icon-button { | ||
width: | width: 60px; | ||
height: | height: 60px; | ||
border-radius: 8px; | border-radius: 8px; | ||
overflow: hidden; | overflow: hidden; | ||
| Ligne 66 : | Ligne 66 : | ||
display: none !important; | display: none !important; | ||
} | } | ||
/* ============================================ | |||
ICON BUTTON WRAPPER - Conteneur avec texte | |||
============================================ */ | |||
.icon-button-wrapper { | |||
display: inline-flex; | |||
flex-direction: column; | |||
align-items: center; | |||
gap: 8px; | |||
margin: 4px; | |||
vertical-align: top; | |||
} | |||
/* Ajustement du bouton dans le wrapper */ | |||
.icon-button-wrapper .icon-button { | |||
margin: 0; /* Retire le margin car géré par le wrapper */ | |||
} | |||
/* Texte sous l'icône */ | |||
.icon-button-text { | |||
font-size: 12px; | |||
font-weight: 500; | |||
color: #212529; | |||
text-align: center; | |||
line-height: 1.2; | |||
max-width: 100px; /* Limite la largeur pour éviter les textes trop longs */ | |||
word-wrap: break-word; | |||
transition: color 0.2s ease; | |||
} | |||
.icon-button-text a { | |||
color: inherit !important; | |||
text-decoration: none !important; | |||
} | |||
.icon-button-text a:hover { | |||
color: #0d6efd !important; | |||
text-decoration: underline !important; | |||
} | |||
/* Mode sombre (optionnel) */ | |||
@media (prefers-color-scheme: dark) { | |||
.icon-button-text { | |||
color: #e9ecef; | |||
} | |||
.icon-button-text a:hover { | |||
color: #6ea8fe !important; | |||
} | |||
} | |||
/* Responsive : texte plus petit sur mobile */ | |||
@media (max-width: 768px) { | |||
.icon-button-text { | |||
font-size: 11px; | |||
max-width: 80px; | |||
} | |||
.icon-button-wrapper { | |||
gap: 6px; | |||
} | |||
} | |||
/* ========== COULEURS PRÉDÉFINIES ========== */ | /* ========== COULEURS PRÉDÉFINIES ========== */ | ||
/* RÉSEAUX SOCIAUX */ | /* ========== RÉSEAUX SOCIAUX ========== */ | ||
.icon-button--discord { background: #5865f2; } | .icon-button--bluesky { background: #0085ff; } /* Bluesky */ | ||
.icon-button-- | .icon-button--discord { background: #5865f2; } /* Discord */ | ||
.icon-button-- | .icon-button--facebook { background: #1877f2; } /* Facebook */ | ||
.icon-button--mastodon { background: #6364ff; } | .icon-button--instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); } /* Instagram */ | ||
.icon-button-- | .icon-button--linkedin { background: #0077b5; } /* LinkedIn */ | ||
.icon-button-- | .icon-button--mastodon { background: #6364ff; } /* Mastodon */ | ||
.icon-button--youtube { background: #ff0000; } | .icon-button--reddit { background: #ff4500; } /* Reddit */ | ||
.icon-button-- | .icon-button--snapchat { background: #fffc00; color: #000 !important; } /* Snapchat */ | ||
.icon-button-- | .icon-button--threads { background: #000000; } /* Threads */ | ||
.icon-button-- | .icon-button--tiktok { background: #000000; } /* TikTok */ | ||
.icon-button-- | .icon-button--twitch { background: #9146ff; } /* Twitch */ | ||
.icon-button-- | .icon-button--twitter { background: #1da1f2; } /* Twitter */ | ||
.icon-button-- | .icon-button--youtube { background: #ff0000; } /* YouTube */ | ||
.icon-button-- | |||
.icon-button-- | /* ========== HÉBERGEMENT DE CODE ========== */ | ||
.icon-button--github { background: # | .icon-button--github { background: #24292e; } /* GitHub */ | ||
.icon-button-- | .icon-button--gitlab { background: #fc6f23; } /* GitLab */ | ||
.icon-button-- | |||
/* ========== SERVICES DE DÉVELOPPEMENT ========== */ | |||
.icon-button--codepen { background: #ffffff; } /* CodePen */ | |||
.icon-button--docker { background: #2496ed; } /* Docker */ | |||
.icon-button--gradle { background: #02303a; } /* Gradle */ | |||
.icon-button--jenkins { background: #d24939; } /* Jenkins */ | |||
.icon-button--kubernetes { background: #326ce5; } /* Kubernetes */ | |||
.icon-button--maven { background: #c71a36; } /* Maven */ | |||
.icon-button--npm { background: #cb3837; } /* NPM */ | |||
.icon-button--stackoverflow { background: #f48024; } /* Stack Overflow */ | |||
/* ========== MINECRAFT MODLOADERS ========== */ | |||
.icon-button--fabric { background: #dbd3c8; } /* Fabric */ | |||
.icon-button--forge { background: #1e2c42; } /* Forge */ | |||
.icon-button--minecraft { background: #62b47a; } /* Minecraft */ | |||
.icon-button--neoforge { background: #ff6b35; } /* NeoForge */ | |||
.icon-button--quilt { background: #8b5cf6; } /* Quilt */ | |||
/* ========== PLATEFORMES DE PLUGINS ========== */ | |||
.icon-button--bukkit { background: #f7931e; } /* Bukkit */ | |||
.icon-button--curseforge { background: #f16436; } /* CurseForge */ | |||
.icon-button--github-releases { background: #238636; } /* GitHub Releases */ | |||
.icon-button--hangar { background: #0089ff; } /* Hangar */ | |||
.icon-button--modrinth { background: #1bd96a; } /* Modrinth */ | |||
.icon-button--paper { background: #1a8cff; } /* Paper */ | |||
.icon-button--polymart { background: #2196f3; } /* Polymart */ | |||
.icon-button--purpur { background: #a855f7; } /* Purpur */ | |||
.icon-button--spigot { background: #ed8106; } /* Spigot */ | |||
/* ========== PLATEFORMES DE FINANCEMENT ========== */ | |||
.icon-button--buymeacoffee { background: #ffdd00; } /* Buy Me a Coffee */ | |||
.icon-button--helloasso { background: #4C40CF; } /* HelloAsso */ | |||
.icon-button--helloasso:hover { background: #3d3fc7; } /* HelloAsso (hover) */ | |||
.icon-button--kofi { background: #ff5e5b; } /* Ko-fi */ | |||
.icon-button--liberapay { background: #f6c915; } /* Liberapay */ | |||
.icon-button--opencollective { background: #7fadf2; } /* Open Collective */ | |||
.icon-button--patreon { background: #ff424d; } /* Patreon */ | |||
.icon-button--paypal { background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%); } /* PayPal */ | |||
.icon-button--paypal:hover { background: linear-gradient(135deg, #005ea6 0%, #003087 100%); } /* PayPal (hover) */ | |||
.icon-button--qonto { background: #1d1d1dff; } /* Qonto */ | |||
/*.icon-button--qonto:hover { background: #8D8D8C; } Qonto */ | |||
.icon-button--stripe { background: #635BFF; } /* Stripe */ | |||
/* COULEURS STANDARDS */ | /* COULEURS STANDARDS */ | ||
Version du 6 février 2026 à 09:57
/* ============================================
ICON BUTTON - Boutons icônes compacts
============================================ */
.icon-button {
width: 60px;
height: 60px;
border-radius: 8px;
overflow: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
position: relative;
background: #6c757d;
display: inline-flex;
align-items: center;
justify-content: center;
margin: 4px;
vertical-align: middle;
}
.icon-button:hover {
transform: translateY(-2px) scale(1.05);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.icon-button a {
display: flex !important;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
padding: 8px !important; /* ✅ Padding sur le lien */
box-sizing: border-box;
color: transparent !important;
text-decoration: none !important;
}
.icon-button a:hover,
.icon-button a:visited {
color: transparent !important;
}
/* Conteneur d'image */
.icon-button .mw-file-description {
display: flex !important;
align-items: center;
justify-content: center;
width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important; /* ✅ Pas de padding ici */
}
/* Image responsive */
.icon-button img {
max-width: 100% !important;
max-height: 100% !important;
width: 100% !important; /* ✅ Forcer à 100% */
height: 100% !important;
object-fit: contain !important;
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}
/* Masquer l'icône de lien externe */
.icon-button a.external::after {
display: none !important;
}
/* ============================================
ICON BUTTON WRAPPER - Conteneur avec texte
============================================ */
.icon-button-wrapper {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 8px;
margin: 4px;
vertical-align: top;
}
/* Ajustement du bouton dans le wrapper */
.icon-button-wrapper .icon-button {
margin: 0; /* Retire le margin car géré par le wrapper */
}
/* Texte sous l'icône */
.icon-button-text {
font-size: 12px;
font-weight: 500;
color: #212529;
text-align: center;
line-height: 1.2;
max-width: 100px; /* Limite la largeur pour éviter les textes trop longs */
word-wrap: break-word;
transition: color 0.2s ease;
}
.icon-button-text a {
color: inherit !important;
text-decoration: none !important;
}
.icon-button-text a:hover {
color: #0d6efd !important;
text-decoration: underline !important;
}
/* Mode sombre (optionnel) */
@media (prefers-color-scheme: dark) {
.icon-button-text {
color: #e9ecef;
}
.icon-button-text a:hover {
color: #6ea8fe !important;
}
}
/* Responsive : texte plus petit sur mobile */
@media (max-width: 768px) {
.icon-button-text {
font-size: 11px;
max-width: 80px;
}
.icon-button-wrapper {
gap: 6px;
}
}
/* ========== COULEURS PRÉDÉFINIES ========== */
/* ========== RÉSEAUX SOCIAUX ========== */
.icon-button--bluesky { background: #0085ff; } /* Bluesky */
.icon-button--discord { background: #5865f2; } /* Discord */
.icon-button--facebook { background: #1877f2; } /* Facebook */
.icon-button--instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); } /* Instagram */
.icon-button--linkedin { background: #0077b5; } /* LinkedIn */
.icon-button--mastodon { background: #6364ff; } /* Mastodon */
.icon-button--reddit { background: #ff4500; } /* Reddit */
.icon-button--snapchat { background: #fffc00; color: #000 !important; } /* Snapchat */
.icon-button--threads { background: #000000; } /* Threads */
.icon-button--tiktok { background: #000000; } /* TikTok */
.icon-button--twitch { background: #9146ff; } /* Twitch */
.icon-button--twitter { background: #1da1f2; } /* Twitter */
.icon-button--youtube { background: #ff0000; } /* YouTube */
/* ========== HÉBERGEMENT DE CODE ========== */
.icon-button--github { background: #24292e; } /* GitHub */
.icon-button--gitlab { background: #fc6f23; } /* GitLab */
/* ========== SERVICES DE DÉVELOPPEMENT ========== */
.icon-button--codepen { background: #ffffff; } /* CodePen */
.icon-button--docker { background: #2496ed; } /* Docker */
.icon-button--gradle { background: #02303a; } /* Gradle */
.icon-button--jenkins { background: #d24939; } /* Jenkins */
.icon-button--kubernetes { background: #326ce5; } /* Kubernetes */
.icon-button--maven { background: #c71a36; } /* Maven */
.icon-button--npm { background: #cb3837; } /* NPM */
.icon-button--stackoverflow { background: #f48024; } /* Stack Overflow */
/* ========== MINECRAFT MODLOADERS ========== */
.icon-button--fabric { background: #dbd3c8; } /* Fabric */
.icon-button--forge { background: #1e2c42; } /* Forge */
.icon-button--minecraft { background: #62b47a; } /* Minecraft */
.icon-button--neoforge { background: #ff6b35; } /* NeoForge */
.icon-button--quilt { background: #8b5cf6; } /* Quilt */
/* ========== PLATEFORMES DE PLUGINS ========== */
.icon-button--bukkit { background: #f7931e; } /* Bukkit */
.icon-button--curseforge { background: #f16436; } /* CurseForge */
.icon-button--github-releases { background: #238636; } /* GitHub Releases */
.icon-button--hangar { background: #0089ff; } /* Hangar */
.icon-button--modrinth { background: #1bd96a; } /* Modrinth */
.icon-button--paper { background: #1a8cff; } /* Paper */
.icon-button--polymart { background: #2196f3; } /* Polymart */
.icon-button--purpur { background: #a855f7; } /* Purpur */
.icon-button--spigot { background: #ed8106; } /* Spigot */
/* ========== PLATEFORMES DE FINANCEMENT ========== */
.icon-button--buymeacoffee { background: #ffdd00; } /* Buy Me a Coffee */
.icon-button--helloasso { background: #4C40CF; } /* HelloAsso */
.icon-button--helloasso:hover { background: #3d3fc7; } /* HelloAsso (hover) */
.icon-button--kofi { background: #ff5e5b; } /* Ko-fi */
.icon-button--liberapay { background: #f6c915; } /* Liberapay */
.icon-button--opencollective { background: #7fadf2; } /* Open Collective */
.icon-button--patreon { background: #ff424d; } /* Patreon */
.icon-button--paypal { background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%); } /* PayPal */
.icon-button--paypal:hover { background: linear-gradient(135deg, #005ea6 0%, #003087 100%); } /* PayPal (hover) */
.icon-button--qonto { background: #1d1d1dff; } /* Qonto */
/*.icon-button--qonto:hover { background: #8D8D8C; } Qonto */
.icon-button--stripe { background: #635BFF; } /* Stripe */
/* COULEURS STANDARDS */
.icon-button--primary, .icon-button--blue { background: #3366cc; }
.icon-button--secondary, .icon-button--gray, .icon-button--grey { background: #72777d; }
.icon-button--success, .icon-button--green { background: #14866d; }
.icon-button--danger, .icon-button--red { background: #d73333; }
.icon-button--warning, .icon-button--yellow { background: #fc3; }
.icon-button--info, .icon-button--cyan { background: #00b8d4; }
.icon-button--purple, .icon-button--violet { background: #6f42c1; }
.icon-button--pink { background: #d63384; }
.icon-button--orange { background: #fd7e14; }
.icon-button--teal { background: #20c997; }
.icon-button--indigo { background: #6610f2; }
.icon-button--black { background: #000; }
.icon-button--white { background: #fff; }
.icon-button--light { background: #f8f9fa; }
.icon-button--dark { background: #343a40; }