Difference between revisions of "MediaWiki:Common.css"
Jump to navigation
Jump to search
Line 4: | Line 4: | ||
/ Estilo para os elementos clicáveis / | / Estilo para os elementos clicáveis / | ||
.warp-copy { | .warp-copy { | ||
− | color: | + | color: #0066cc; |
− | #0066cc; | ||
cursor: pointer; | cursor: pointer; | ||
text-decoration: none; | text-decoration: none; | ||
Line 11: | Line 10: | ||
display: inline-block; | display: inline-block; | ||
border-bottom: none; / Remove a borda inferior / | border-bottom: none; / Remove a borda inferior / | ||
− | text-decoration: underline dotted | + | text-decoration: underline dotted #0066cc; / Usa sublinhado pontilhado / |
− | #0066cc; / Usa sublinhado pontilhado / | ||
text-underline-offset: 2px; / Ajusta a altura do sublinhado para corresponder aos links / | text-underline-offset: 2px; / Ajusta a altura do sublinhado para corresponder aos links / | ||
} | } | ||
Line 176: | Line 174: | ||
white-space: nowrap; /* Evita quebra de linha */ | white-space: nowrap; /* Evita quebra de linha */ | ||
} | } | ||
+ | |||
+ | /* JavaScript para funcionalidade de cópia */ | ||
+ | mw.hook('wikipage.content').add(function ($content) { | ||
+ | // Adiciona funcionalidade aos elementos com a classe warp-copy | ||
+ | $content.find('.warp-copy').on('click', function () { | ||
+ | var textToCopy = $(this).attr('data-copy'); | ||
+ | |||
+ | // Cria um elemento temporário para copiar o texto | ||
+ | var tempInput = document.createElement('textarea'); | ||
+ | tempInput.value = textToCopy; | ||
+ | document.body.appendChild(tempInput); | ||
+ | tempInput.select(); | ||
+ | |||
+ | try { | ||
+ | // Executa o comando de cópia | ||
+ | var successful = document.execCommand('copy'); | ||
+ | |||
+ | // Feedback visual temporário ao usuário | ||
+ | var originalText = $(this).text(); | ||
+ | if (successful) { | ||
+ | // Altera o texto do tooltip para "Copied!" por um breve período | ||
+ | var $this = $(this); | ||
+ | $this.addClass('copied'); | ||
+ | |||
+ | // Altera o texto do tooltip temporariamente | ||
+ | $this.attr('data-tooltip-text', 'Copied!'); | ||
+ | |||
+ | setTimeout(function () { | ||
+ | $this.removeClass('copied'); | ||
+ | $this.attr('data-tooltip-text', 'Copy'); | ||
+ | }, 1500); | ||
+ | } | ||
+ | } catch (err) { | ||
+ | console.error('Erro ao copiar texto: ', err); | ||
+ | } | ||
+ | |||
+ | // Remove o elemento temporário | ||
+ | document.body.removeChild(tempInput); | ||
+ | }); | ||
+ | }); |
Revision as of 15:12, 25 April 2025
/* CSS placed here will be applied to all skins */ * body.page-Main_Page h1.firstHeading { display:none; } /* { font-family: courier new } / / Estilo para os elementos clicáveis / .warp-copy { color: #0066cc; cursor: pointer; text-decoration: none; position: relative; display: inline-block; border-bottom: none; / Remove a borda inferior / text-decoration: underline dotted #0066cc; / Usa sublinhado pontilhado / text-underline-offset: 2px; / Ajusta a altura do sublinhado para corresponder aos links / } / Tooltip personalizado / .warp-copy::after { content: "Copy"; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background-color: #333; color: white; padding: 2px 6px; border-radius: 3px; font-size: 12px; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; pointer-events: none; z-index: 100; } / Seta do tooltip / .warp-copy::before { content: ""; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); border-width: 4px; border-style: solid; border-color: transparent transparent #333 transparent; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; pointer-events: none; z-index: 100; } / Mostrar tooltip ao passar o mouse / .warp-copy:hover::after, .warp-copy:hover::before { opacity: 1; visibility: visible; bottom: calc(100% + 5px); } / Mantém o estilo padrão dos links / a { / Não alteramos o estilo padrão dos links / / Possivelmente, você pode adicionar aqui um offset explícito se necessário / text-underline-offset: 0px; / Opcional, para garantir consistência / } .external { background: none !important; padding-right: 0 !important; } / Tabelas */ .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid #e4eaee; background: #ffffff; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; justify-content: center; background-color: #949eaa; overflow: visible; padding: 0; height: auto; width: 100%; /* Garante que cubra 100% da largura do contêiner pai */ box-sizing: border-box; /* Importante para que padding não aumente a largura */ } .tile-top.tile-image a { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .tile-top.tile-image img { display: block; width: auto; height: auto; margin: 0; transition: 0.4s ease-out; } .tile-bottom { background: #ffffff; border-top: 1px solid #e4eaee; width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: center; padding: 0; /* Remove padding completamente */ width: auto; margin: 0 auto; max-width: fit-content; /* Limita a largura ao conteúdo */ } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 0.6em 0.8em; /* Reduz o padding lateral de 1.5em para 0.6em */ text-decoration: none; } .mainpage-contents .tile-halves { display: inline-block; flex: 0 0 auto; margin-right: 0.9rem; width: auto; max-width: max-content; } .mainpage-contents .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-contents .tile-halves:last-child { margin-right: 0; } .mainpage-contents .tile-top { height: auto; /* Remove altura fixa */ min-height: auto; position: relative; } .mainpage-contents .tile-top h2 a { display: block; text-align: center; text-decoration: none; line-height: 4.5rem; padding-left: 0.45rem; } .mainpage-contents h2 { margin: 0; padding: 0; } .tile-bottom.link-button h2 { width: max-content; margin: 0 auto; padding: 0; white-space: nowrap; /* Evita quebra de linha */ } /* JavaScript para funcionalidade de cópia */ mw.hook('wikipage.content').add(function ($content) { // Adiciona funcionalidade aos elementos com a classe warp-copy $content.find('.warp-copy').on('click', function () { var textToCopy = $(this).attr('data-copy'); // Cria um elemento temporário para copiar o texto var tempInput = document.createElement('textarea'); tempInput.value = textToCopy; document.body.appendChild(tempInput); tempInput.select(); try { // Executa o comando de cópia var successful = document.execCommand('copy'); // Feedback visual temporário ao usuário var originalText = $(this).text(); if (successful) { // Altera o texto do tooltip para "Copied!" por um breve período var $this = $(this); $this.addClass('copied'); // Altera o texto do tooltip temporariamente $this.attr('data-tooltip-text', 'Copied!'); setTimeout(function () { $this.removeClass('copied'); $this.attr('data-tooltip-text', 'Copy'); }, 1500); } } catch (err) { console.error('Erro ao copiar texto: ', err); } // Remove o elemento temporário document.body.removeChild(tempInput); }); });