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);
});
});