Mudanças entre as edições de "Widget:Teste"

De Wiki Gla
Ir para navegação Ir para pesquisar
m
Etiqueta: Revertido
m
 
(22 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<style>
<style>
/* ====== LAYOUT: dá oxigênio pro sidebar e limita o content ====== */
    .island-grid {
:root {
         display: flex;
  --sb-width: 16.5rem;          /* largura real do #mw-panel */
        flex-wrap: wrap;
  --content-max: 980px;         /* largura máx. do corpo da página */
        justify-content: center;
  --content-gap: 24px;         /* respiro entre sidebar e content */
        gap: 10px;
}
        padding: 12px 0;
 
    }
/* Largura do painel lateral (Vector legacy) */
body.skin-vector #mw-panel { width: var(--sb-width); }
 
/* Empurra o conteúdo principal pra não colidir com o novo sidebar */
body.skin-vector #content.mw-body {
  margin-left: calc(var(--sb-width) + var(--content-gap)) !important;
  max-width: var(--content-max);
}
 
/* Em telas menores, volta mais próximo do padrão */
@media (max-width: 1200px) {
  :root { --sb-width: 14rem; --content-gap: 18px; --content-max: 900px; }
}
 
/* ====== VISUAL: cards, headings, contraste e pills ====== */
:root {
  --sb-bg: rgba(15, 16, 24, 0.82);
  --sb-bg-fallback: #161823;
  --sb-border: rgba(255,255,255,0.10);
  --sb-shadow: 0 8px 24px rgba(0,0,0,0.35);


  --sb-text: #E9ECF8;
    .island-banner {
  --sb-heading: #ffffff;
        position: relative;
  --sb-link: #E5E9FF;         /* +claro que antes */
        width: 380px;
  --sb-link-hover: #ffffff;
        height: 90px;
  --sb-pill-hover: rgba(255,255,255,0.08);
        overflow: hidden;
  --sb-pill-active: rgba(255,255,255,0.14);
        border-radius: 8px;
        box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 10px;
        cursor: pointer;
        transition: transform 0.15s, box-shadow 0.15s;
        display: block;
        box-sizing: border-box;
    }


  --sb-radius: 14px;
    .island-banner::before {
  --sb-gap: 12px;
        content: "";
  --sb-pad-x: 12px;
        position: absolute;
  --sb-pad-y: 10px;
        top: 0;
}
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(105deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.1) 70%, transparent 100%);
        pointer-events: none;
        z-index: 1;
    }


/* Cards dos portlets */
    .island-banner:hover {
#mw-panel .mw-portlet,
        transform: translateY(-2px);
#mw-panel.vector-legacy-sidebar .mw-portlet {
        box-shadow: rgba(0, 0, 0, 0.35) 0px 4px 12px;
  background: var(--sb-bg-fallback);
     }
  border: 1px solid var(--sb-border);
  border-radius: var(--sb-radius);
  box-shadow: var(--sb-shadow);
  margin: 0 var(--sb-pad-x) var(--sb-gap);
  padding: 0;
  overflow: hidden;
}
@supports ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
  #mw-panel .mw-portlet,
  #mw-panel.vector-legacy-sidebar .mw-portlet {
    background: var(--sb-bg);
     -webkit-backdrop-filter: blur(10px) saturate(120%);
    backdrop-filter: blur(10px) saturate(120%);
  }
}


/* Logo com respiro */
    .island-banner .island-chests {
#mw-panel #p-logo { margin: 0 var(--sb-pad-x) var(--sb-gap); }
        position: absolute;
        top: 8px;
        left: 8px;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        z-index: 2;
        pointer-events: none;
    }


/* Headings sem aquela linha padrão do Vector, com divisor sutil */
    .island-banner .island-chest-group {
#mw-panel .vector-menu-heading,
        position: relative;
#mw-panel.vector-legacy-sidebar .vector-menu-heading {
        display: inline-block;
  color: var(--sb-heading);
    }
  font-weight: 800;
  letter-spacing: .02em;
  padding: 10px var(--sb-pad-x) 8px;
  margin: 0;
  border: 0 !important;                          /* remove linha do skin */
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);/* divisor sutil */
}


/* Acento no topo do card */
    .island-banner .island-chest-group img {
#mw-panel .mw-portlet::before,
        display: block;
#mw-panel.vector-legacy-sidebar .mw-portlet::before {
        width: auto;
  content: "";
        height: auto;
  display: block;
    }
  height: 2px;
  background: linear-gradient(90deg, #8D5CFF, #51E1FF 60%, transparent);
}


/* Conteúdo */
    .island-banner .island-chest-count {
#mw-panel .vector-menu-content,
    position: absolute;
#mw-panel.vector-legacy-sidebar .vector-menu-content {
    left: 0;          /* era right: 0 */
  padding: var(--sb-pad-y) var(--sb-pad-x) calc(var(--sb-pad-y) + 2px);
    bottom: 0;
  color: var(--sb-text);
    font-size: 12.5px;  /* era 11px */
    font-weight: bold;
    color: #fff;
    background: rgba(0, 0, 0, 0.75);
    padding: 1px 3px;
    border-radius: 3px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    z-index: 10;
}
}


/* Lista e espaçamento */
    .island-banner .island-title {
#mw-panel .vector-menu-content-list,
        position: absolute;
#mw-panel.vector-legacy-sidebar .vector-menu-content-list {
        bottom: 10px;
  list-style: none;
        left: 8px;
  margin: 0;
        font-size: 1.35em;
  padding: 0;
        font-weight: bold;
  display: flex;
        color: #fff;
  flex-direction: column;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 2px 4px rgba(0, 0, 0, 0.5);
  gap: 6px;
        line-height: 1.2;
}
        z-index: 2;
 
        pointer-events: none;
/* ====== Links com especificidade reforçada (vence o Vector) ====== */
        text-transform: uppercase;
#mw-panel .mw-portlet .vector-menu-content-list a,
    }
#mw-panel .mw-portlet .vector-menu-content-list a:visited {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  line-height: 1.25;
  color: var(--sb-link) !important;     /* garante contraste */
  text-decoration: none;
  transition: background .18s ease, color .18s ease, transform .06s ease;
  word-break: normal;
  overflow-wrap: break-word;            /* quebra só quando precisa */
  hyphens: auto;
}
 
/* Hover/active */
#mw-panel .mw-portlet .vector-menu-content-list a:hover {
  background: var(--sb-pill-hover);
  color: var(--sb-link-hover) !important;
}
#mw-panel .mw-portlet .vector-menu-content-list li.selected > a {
  background: var(--sb-pill-active);
  color: var(--sb-link-hover) !important;
  font-weight: 600;
}
 
/* Foco acessível */
#mw-panel .mw-portlet .vector-menu-content-list a:focus-visible {
  outline: 2px solid #9DA2FF;
  outline-offset: 2px;
}
 
/* Ferramentas um tiquinho mais compactas */
#p-tb .vector-menu-content-list a { padding: 7px 9px; }
 
/* Opcional: sidebar “grudado” no scroll */
@media (min-width: 1100px) {
  /* descomenta se teu skin não posiciona #mw-panel de forma absoluta */
  /* #mw-panel { position: sticky; top: 72px; } */
}


/* Caso o bg da wiki seja claríssimo, suba a opacidade do card: */
    @media (max-width: 768px) {
/* :root { --sb-bg: rgba(15,16,24,0.90); } */
        .island-grid {
            flex-direction: column;
            align-items: stretch;
        }


        .island-banner {
            width: 100%;
            max-width: none;
        }
    }
</style>
</style>
<script>
    (function () {
        function applyBackgrounds() {
            document.querySelectorAll('.island-banner[data-bgimg]').forEach(function (el) {
                var filename = el.getAttribute('data-bgimg');
                if (!filename) return;
                var url;
                if (typeof mw !== 'undefined' && mw.util && mw.util.getUrl) {
                    url = mw.util.getUrl('Especial:FilePath/' + filename);
                } else {
                    url = '/index.php?title=Especial:FilePath/' + encodeURIComponent(filename);
                }
                el.style.backgroundImage = 'url(' + url + ')';
                el.style.backgroundSize = 'cover';
                el.style.backgroundPosition = 'center';
                el.style.backgroundRepeat = 'no-repeat';
            });
        }
        function initClickable() {
            document.querySelectorAll('.island-banner[data-href]').forEach(function (el) {
                if (el._icClick) return;
                el._icClick = true;
                el.setAttribute('role', 'link');
                el.setAttribute('tabindex', '0');
                el.addEventListener('click', function () {
                    var href = el.getAttribute('data-href');
                    if (href) window.location.href = href;
                });
                el.addEventListener('keydown', function (e) {
                    if (e.key === 'Enter' || e.key === ' ') {
                        e.preventDefault();
                        var href = el.getAttribute('data-href');
                        if (href) window.location.href = href;
                    }
                });
            });
        }
        function run() {
            applyBackgrounds();
            initClickable();
        }
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', run);
        } else {
            run();
        }
    })();
</script>

Edição atual tal como às 00h06min de 13 de março de 2026

<style>

   .island-grid {
       display: flex;
       flex-wrap: wrap;
       justify-content: center;
       gap: 10px;
       padding: 12px 0;
   }
   .island-banner {
       position: relative;
       width: 380px;
       height: 90px;
       overflow: hidden;
       border-radius: 8px;
       box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 10px;
       cursor: pointer;
       transition: transform 0.15s, box-shadow 0.15s;
       display: block;
       box-sizing: border-box;
   }
   .island-banner::before {
       content: "";
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: linear-gradient(105deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.1) 70%, transparent 100%);
       pointer-events: none;
       z-index: 1;
   }
   .island-banner:hover {
       transform: translateY(-2px);
       box-shadow: rgba(0, 0, 0, 0.35) 0px 4px 12px;
   }
   .island-banner .island-chests {
       position: absolute;
       top: 8px;
       left: 8px;
       display: flex;
       flex-wrap: wrap;
       gap: 6px;
       z-index: 2;
       pointer-events: none;
   }
   .island-banner .island-chest-group {
       position: relative;
       display: inline-block;
   }
   .island-banner .island-chest-group img {
       display: block;
       width: auto;
       height: auto;
   }
   .island-banner .island-chest-count {
   position: absolute;
   left: 0;          /* era right: 0 */
   bottom: 0;
   font-size: 12.5px;  /* era 11px */
   font-weight: bold;
   color: #fff;
   background: rgba(0, 0, 0, 0.75);
   padding: 1px 3px;
   border-radius: 3px;
   line-height: 1;
   white-space: nowrap;
   box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
   z-index: 10;

}

   .island-banner .island-title {
       position: absolute;
       bottom: 10px;
       left: 8px;
       font-size: 1.35em;
       font-weight: bold;
       color: #fff;
       text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 2px 4px rgba(0, 0, 0, 0.5);
       line-height: 1.2;
       z-index: 2;
       pointer-events: none;
       text-transform: uppercase;
   }
   @media (max-width: 768px) {
       .island-grid {
           flex-direction: column;
           align-items: stretch;
       }
       .island-banner {
           width: 100%;
           max-width: none;
       }
   }

</style> <script>

   (function () {
       function applyBackgrounds() {
           document.querySelectorAll('.island-banner[data-bgimg]').forEach(function (el) {
               var filename = el.getAttribute('data-bgimg');
               if (!filename) return;
               var url;
               if (typeof mw !== 'undefined' && mw.util && mw.util.getUrl) {
                   url = mw.util.getUrl('Especial:FilePath/' + filename);
               } else {
                   url = '/index.php?title=Especial:FilePath/' + encodeURIComponent(filename);
               }
               el.style.backgroundImage = 'url(' + url + ')';
               el.style.backgroundSize = 'cover';
               el.style.backgroundPosition = 'center';
               el.style.backgroundRepeat = 'no-repeat';
           });
       }
       function initClickable() {
           document.querySelectorAll('.island-banner[data-href]').forEach(function (el) {
               if (el._icClick) return;
               el._icClick = true;
               el.setAttribute('role', 'link');
               el.setAttribute('tabindex', '0');
               el.addEventListener('click', function () {
                   var href = el.getAttribute('data-href');
                   if (href) window.location.href = href;
               });
               el.addEventListener('keydown', function (e) {
                   if (e.key === 'Enter' || e.key === ' ') {
                       e.preventDefault();
                       var href = el.getAttribute('data-href');
                       if (href) window.location.href = href;
                   }
               });
           });
       }
       function run() {
           applyBackgrounds();
           initClickable();
       }
       if (document.readyState === 'loading') {
           document.addEventListener('DOMContentLoaded', run);
       } else {
           run();
       }
   })();

</script>