Modèle:ButtonLink/styles.css
De Nefald
Autres actions
/* ============================================
MASQUER L'ICÔNE DE LIEN EXTERNE MEDIAWIKI
============================================ */
.button-link-wrapper a.external,
.button-link-wrapper a[href^="http"]::after,
.button-link-wrapper a.external::after {
background-image: none !important;
background: none !important;
padding-right: 0 !important;
content: '' !important;
}
/* ============================================
STRUCTURE DU BOUTON
============================================ */
.button-link-wrapper {
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100px;
padding: 1rem;
border-radius: 12px;
text-decoration: none;
color: #fff;
font-weight: bold;
transition: all 0.2s ease;
position: relative;
overflow: hidden;
width: 200px;
box-sizing: border-box;
}
.button-link-wrapper:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
/* ============================================
ZONE CLIQUABLE INVISIBLE (TOUT LE BOUTON)
============================================ */
.button-link-clickzone {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 20;
opacity: 0;
cursor: pointer;
}
/* EMPÊCHE LE CONTENU D'INTERCEPTER LES CLICS */
.button-link-content,
.button-link-content * {
pointer-events: none;
position: relative;
z-index: 10;
}
/* ============================================
CONTENU DU BOUTON
============================================ */
.button-link-content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.5rem;
width: 100%;
}
/* ============================================
CONTENEUR D'IMAGE (TAILLE RÉDUITE)
============================================ */
.button-link-image-container {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 40px; /* ⬅️ RÉDUIT DE 50px À 40px */
margin: 0;
overflow: hidden;
border-radius: 8px;
}
/* L'IMAGE S'ADAPTE AU CONTENEUR */
.button-link-image {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
}
/* ============================================
TEXTE DU BOUTON
============================================ */
.button-link-text {
color: #fff;
font-size: 0.95rem;
text-align: center;
line-height: 1.2;
margin: 0;
padding: 0;
}
/* ============================================
DISPOSITION IMAGE + TEXTE
============================================ */
/* IMAGE CENTRÉE AU-DESSUS (DÉFAUT) */
.button-link--imagepos-center .button-link-content {
flex-direction: column;
}
/* IMAGE À GAUCHE, TEXTE À DROITE */
.button-link--imagepos-left {
width: 450px;
max-width: 100%;
}
.button-link--imagepos-left .button-link-content {
flex-direction: row;
gap: 1rem;
}
.button-link--imagepos-left .button-link-image-container {
width: 40px; /* ⬅️ RÉDUIT DE 50px À 40px */
height: 40px;
flex-shrink: 0;
}
.button-link--imagepos-left .button-link-text {
text-align: left;
flex: 1;
}
/* IMAGE À DROITE, TEXTE À GAUCHE */
.button-link--imagepos-right {
width: 450px;
max-width: 100%;
}
.button-link--imagepos-right .button-link-content {
flex-direction: row-reverse;
gap: 1rem;
}
.button-link--imagepos-right .button-link-image-container {
width: 40px; /* ⬅️ RÉDUIT DE 50px À 40px */
height: 40px;
flex-shrink: 0;
}
.button-link--imagepos-right .button-link-text {
text-align: right;
flex: 1;
}
/* ============================================
COULEURS DES PRESETS
============================================ */
/* COULEURS SÉMANTIQUES */
.button-link--primary,
.button-link--blue { background: #3366cc; }
.button-link--secondary,
.button-link--gray,
.button-link--grey { background: #72777d; }
.button-link--success,
.button-link--green { background: #14866d; }
.button-link--danger,
.button-link--red { background: #d73333; }
.button-link--warning,
.button-link--yellow { background: #fc3; }
.button-link--warning .button-link-text { color: #000; }
.button-link--info,
.button-link--cyan { background: #00b8d4; }
.button-link--purple,
.button-link--violet { background: #6f42c1; }
.button-link--pink { background: #d63384; }
.button-link--orange { background: #fd7e14; }
.button-link--teal { background: #20c997; }
.button-link--indigo { background: #6610f2; }
.button-link--black { background: #000; }
.button-link--white { background: #fff; }
.button-link--white .button-link-text { color: #000; }
.button-link--light { background: #f8f9fa; }
.button-link--light .button-link-text { color: #000; }
.button-link--dark { background: #343a40; }
/* RÉSEAUX SOCIAUX */
.button-link--discord { background: #5865f2; }
.button-link--twitter { background: #1da1f2; }
.button-link--youtube { background: #ff0000; }
.button-link--twitch { background: #9146ff; }
.button-link--reddit { background: #ff4500; }
.button-link--mastodon { background: #6364ff; }
.button-link--bluesky { background: #0085ff; }
.button-link--linkedin { background: #0077b5; }
.button-link--facebook { background: #1877f2; }
.button-link--instagram { background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%); }
.button-link--tiktok { background: #000000; }
.button-link--snapchat { background: #fffc00; }
.button-link--snapchat .button-link-text { color: #000; }
.button-link--threads { background: #000000; }
/* DÉVELOPPEMENT & TECH */
.button-link--stackoverflow { background: #252627; }
.button-link--npm { background: #cb3837; }
.button-link--pypi { background: #3775a9; }
.button-link--docker { background: #2496ed; }
.button-link--kubernetes { background: #326ce5; }
.button-link--codepen { background: #ffffff; }
.button-link--codepen .button-link-text { color: #000; }
.button-link--gitlab { background: #fc6f23; }
.button-link--github { background: #24292e; }
/* MINECRAFT PLUGINS */
.button-link--modrinth { background: #1bd96a; }
.button-link--curseforge { background: #f16436; }
.button-link--hangar { background: #0d6efd; }
.button-link--spigotmc,
.button-link--spigot { background: #ed8106; }
.button-link--bukkit { background: #f89a1e; }
.button-link--paper { background: #1a8cff; }
.button-link--purpur { background: #a855f7; }
.button-link--polymart { background: #ec4899; }
.button-link--github-releases { background: #238636; }
.button-link--jenkins { background: #d24939; }
.button-link--maven { background: #c71a36; }
/* MOD LOADERS */
.button-link--forge { background: #1e2c42; }
.button-link--fabric { background: #dbd3c8; }
.button-link--fabric .button-link-text { color: #000; }
.button-link--quilt { background: #8b5cf6; }
.button-link--minecraft { background: #62b47a; }
.button-link--modrinth { background: #1bd96a; }
.button-link--spigot { background: #ed8106; }
.button-link--neoforge { background: #ff6b35; }
/* FINANCEMENT */
.button-link--buymeacoffee { background: #ffdd00; }
.button-link--buymeacoffee .button-link-text { color: #000; }
.button-link--helloasso { background: #4C40CF; }
.button-link--kofi { background: #ff5e5b; }
.button-link--liberapay { background: #f6c915; }
.button-link--liberapay .button-link-text { color: #000; }
.button-link--opencollective { background: #7fadf2; }
.button-link--patreon { background: #ff424d; }
.button-link--paypal { background: linear-gradient(135deg, #0070ba 0%, #1546a0 100%); }
.button-link--qonto { background: #1d1d1d; }
.button-link--stripe { background: #635BFF; }
/* SERVEURS */
.button-link--velocity { background: #3fa9f5; }
.button-link--waterfall { background: #0088ff; }
.button-link--bungeecord { background: #ffcc00; }
.button-link--bungeecord .button-link-text { color: #000; }
.button-link--sponge { background: #f7cf0d; }
.button-link--sponge .button-link-text { color: #000; }
/* MODPACKS */
.button-link--ftb,
.button-link--feed-the-beast { background: #8e44ad; }
.button-link--technic { background: #e74c3c; }
.button-link--atlauncher { background: #3498db; }
/* ============================================
ALIGNEMENT
============================================ */
.button-link--align-left {
width: 450px;
max-width: 100%;
margin-right: auto;
margin-left: 0;
}
.button-link--align-center {
width: 450px;
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
.button-link--align-right {
width: 450px;
max-width: 100%;
margin-left: auto;
margin-right: 0;
}