Mudanças entre as edições de "Widget:VisnoTeste"
Ir para navegação
Ir para pesquisar
| Linha 5: | Linha 5: | ||
<title>Teste GIF Hover</title> | <title>Teste GIF Hover</title> | ||
<style> | <style> | ||
body { | |||
margin: 0; | |||
font-family: sans-serif; | |||
color: white; | |||
} | |||
.search-bar { | |||
text-align: right; | |||
padding: 20px; | |||
} | |||
.search-bar input { | |||
padding: 8px; | |||
width: 250px; | |||
border-radius: 5px; | |||
border: 1px solid #ccc; | |||
} | |||
.container { | |||
display: flex; | |||
gap: 10px; | |||
flex-wrap: wrap; | |||
justify-content: center; | |||
padding-bottom: 40px; | |||
} | |||
.personagem { | .personagem { | ||
width: 200px; | width: 200px; | ||
height: 100px; | height: 100px; | ||
border-radius: 10px; | border-radius: 10px; | ||
background-size: 150%; | background-size: 150%; | ||
background-position: center -30px; | background-position: center -30px; | ||
| Linha 19: | Linha 43: | ||
padding: 5px; | padding: 5px; | ||
font-weight: bold; | font-weight: bold; | ||
color: white; | color: white; | ||
text-shadow: 1px 1px | text-shadow: 1px 1px 4px #000, 0 0 20px #000; | ||
position: relative; | position: relative; | ||
cursor: pointer; | cursor: pointer; | ||
border: 2px solid #58aaff; | border: 2px solid #58aaff; | ||
overflow: hidden; | overflow: hidden; | ||
text-decoration: none; | |||
} | } | ||
| Linha 50: | Linha 74: | ||
.personagem:hover .gif-overlay { | .personagem:hover .gif-overlay { | ||
opacity: 1; | opacity: 1; | ||
} | } | ||
. | .personagem.luffy .gif-overlay { | ||
background-position: center 0px; | |||
} | |||
.personagem.hancock { | |||
} | background-size: 115%; | ||
} | |||
.personagem.kizaru { | |||
background-position: center -20px; | |||
} | |||
/* --------- Tiers ----------- */ | |||
.tier-diamante .personagem { | |||
background-color: #414c5c; | |||
} | |||
.tier-gold .personagem { | |||
background-color: #d4af37; | |||
} | |||
.tier-prata .personagem { | |||
background-color: #c0c0c0; | |||
} | |||
.personagem | .tier-bronze .personagem { | ||
background-color: #cd7f32; | |||
} | } | ||
</style> | </style> | ||
</head> | </head> | ||
<body> | <body> | ||
<!-- Barra de Pesquisa --> | |||
<div class="search-bar"> | |||
<input type="text" id="search" placeholder="Pesquisar personagem..."> | |||
</div> | |||
<!-- Personagens --> | |||
<div class="container"> | <div class="container"> | ||
<div class="personagem" | |||
<!-- aokiji --> | |||
<div class="tier-diamante"> | |||
<span> | <div class="personagem" data-static="https://i.postimg.cc/0NMJrvjJ/fundoaokiji.png" data-gif="https://i.postimg.cc/nzKrQhJM/aokijiemotecard2.gif"> | ||
<div class="gif-overlay"></div> | <span>Aokiji</span> | ||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- kuma --> | |||
<div class="tier-diamante"> | |||
<div class="personagem" data-static="https://i.postimg.cc/NMvyjfMC/kuma.png" data-gif=""> | |||
<span>Bartholomew Kuma</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- hancock --> | |||
<div class="tier-diamante"> | |||
<div class="personagem hancock" data-static="https://i.postimg.cc/2j25Px4K/boahan.png" data-gif=""> | |||
<span>Boa Hancock</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- kizaru --> | |||
<div class="tier-diamante"> | |||
<div class="personagem kizaru" data-static="https://i.postimg.cc/PqjhLLWD/kizaru.webp" data-gif=""> | |||
<span>Borsalino Kizaru</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- brook --> | |||
<div class="tier-diamante"> | |||
<div class="personagem" data-static="https://i.postimg.cc/rmsHzcPW/brookts.png" data-gif=""> | |||
<span>Brook (TS)</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- chopper --> | |||
<div class="tier-diamante"> | |||
<div class="personagem hancock" data-static="https://i.postimg.cc/QM26N5cL/chopperts.png" data-gif=""> | |||
<span>Chopper (TS)</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- doflamingo --> | |||
<div class="tier-diamante"> | |||
<div class="personagem hancock" data-static="https://i.postimg.cc/3JfFJmHL/doflamingo.png" data-gif=""> | |||
<span>Donquixote Doflamingo</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- mihawk --> | |||
<div class="tier-diamante"> | |||
<div class="personagem" data-static="https://i.postimg.cc/6QWWj28X/Dracule-Mihawk.webp" data-gif=""> | |||
<span>Dracule Mihawk</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- ivankov --> | |||
<div class="tier-diamante"> | |||
<div class="personagem" data-static="https://i.postimg.cc/C1pWP9Pf/Ivan-chan.webp" data-gif=""> | |||
<span>Emporio Ivankov</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | </div> | ||
<div class="personagem | <!-- enel --> | ||
<div class="tier-diamante"> | |||
<div class="personagem" data-static="https://i.postimg.cc/DzLNXBvf/enel2.png" data-gif=""> | |||
<span>Enel</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | </div> | ||
<!-- luffy --> | |||
<div class="tier-diamante"> | |||
<div class="personagem luffy" data-static="https://i.postimg.cc/L8hJ0Sz0/luffycard.png" data-gif="https://i.postimg.cc/G2n92s6Z/luffytsemotecard.gif"> | |||
<span>Monkey D. Luffy (TS)</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- bege --> | |||
<div class="tier-gold"> | |||
<div class="personagem" data-static="bege.webp" data-gif="luffytsemotecard.gif"> | |||
<span>Capone Gang Bege</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- bon clay --> | |||
<div class="tier-prata"> | |||
<div class="personagem" data-static="BonClay.webp" data-gif="luffytsemotecard.gif"> | |||
<span>Bon Clay</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- alvida --> | |||
<div class="tier-bronze"> | |||
<div class="personagem" data-static="AlvidaSlime.webp" data-gif="luffytsemotecard.gif"> | |||
<span>Alvida (Slime)</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
<!-- baby 5 --> | |||
<div class="tier-gold"> | |||
<div class="personagem" data-static="bb5.webp" data-gif="luffytsemotecard.gif"> | |||
<span>Baby 5</span> | |||
<div class="gif-overlay"></div> | |||
</div> | |||
</div> | |||
</div> | </div> | ||
<!-- Scripts --> | |||
<script> | <script> | ||
const cards = document.querySelectorAll('.personagem'); | const cards = document.querySelectorAll('.personagem'); | ||
cards.forEach(card => { | cards.forEach(card => { | ||
const staticImg = card.getAttribute('data-static'); | |||
const gifImg = card.getAttribute('data-gif'); | |||
const overlay = card.querySelector('.gif-overlay'); | |||
card.style.backgroundImage = `url('${staticImg}')`; | |||
card.addEventListener('mouseenter', () => { | |||
const uniqueGifUrl = `${gifImg}?t=${new Date().getTime()}`; | |||
overlay.style.backgroundImage = `url('${uniqueGifUrl}')`; | |||
}); | |||
card.addEventListener('mouseleave', () => { | |||
overlay.style.backgroundImage = ''; | |||
}); | |||
}); | }); | ||
document.getElementById('search').addEventListener('input', function () { | |||
const term = this.value.toLowerCase(); | |||
cards.forEach(card => { | |||
const name = card.querySelector('span').textContent.toLowerCase(); | |||
card.parentElement.style.display = name.includes(term) ? 'block' : 'none'; | |||
}); | |||
}); | }); | ||
// Links dos personagens | |||
const personagemLinks = { | |||
"Aokiji": "https://wiki.gla.com.br/index.php/Aokiji", | |||
"Bartholomew Kuma": "https://wiki.gla.com.br/index.php/Kuma", | |||
"Boa Hancock": "https://wiki.gla.com.br/index.php/Boa_Hancock", | |||
"Borsalino Kizaru": "https://wiki.gla.com.br/index.php/Kizaru", | |||
"Brook (TS)": "https://wiki.gla.com.br/index.php/Brook_(Timeskip)", | |||
"Chopper (TS)": "https://wiki.gla.com.br/index.php/Chopper_(Timeskip)", | |||
"Donquixote Doflamingo": "https://wiki.gla.com.br/index.php/Doflamingo", | |||
"Dracule Mihawk": "https://wiki.gla.com.br/index.php/Mihawk", | |||
"Emporio Ivankov": "https://wiki.gla.com.br/index.php/Ivankov", | |||
"Enel": "https://wiki.gla.com.br/index.php/Enel", | |||
"Monkey D. Luffy (TS)": "https://wiki.gla.com.br/index.php/Luffy_(Timeskip)", | |||
"Capone Gang Bege": "https://wiki.gla.com.br/index.php/Capone_Bege", | |||
"Bon Clay": "https://wiki.gla.com.br/index.php/Mr.2", | |||
"Alvida (Slime)": "https://wiki.gla.com.br/index.php/Alvida", | |||
"Baby 5": "https://wiki.gla.com.br/index.php/Baby_5" | |||
}; | |||
// Envolve as boxes com <a> | |||
cards.forEach(card => { | |||
const span = card.querySelector('span'); | |||
const nomePersonagem = span?.textContent.trim(); | |||
const link = personagemLinks[nomePersonagem]; | |||
if (link) { | |||
const wrapper = document.createElement('a'); | |||
wrapper.href = link; | |||
wrapper.target = "_blank"; | |||
wrapper.style.display = "block"; | |||
wrapper.style.textDecoration = "none"; | |||
card.parentElement.replaceChild(wrapper, card); | |||
wrapper.appendChild(card); | |||
} | |||
}); | |||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> | ||
Edição das 06h11min de 16 de junho de 2025
<!DOCTYPE html> <html lang="pt-BR"> <head>
<meta charset="UTF-8">
<title>Teste GIF Hover</title>
<style>
body {
margin: 0;
font-family: sans-serif;
color: white;
}
.search-bar {
text-align: right;
padding: 20px;
}
.search-bar input {
padding: 8px;
width: 250px;
border-radius: 5px;
border: 1px solid #ccc;
}
.container {
display: flex;
gap: 10px;
flex-wrap: wrap;
justify-content: center;
padding-bottom: 40px;
}
.personagem {
width: 200px;
height: 100px;
border-radius: 10px;
background-size: 150%;
background-position: center -30px;
transition: transform 0.3s;
display: flex;
align-items: flex-end;
justify-content: flex-end;
padding: 5px;
font-weight: bold;
color: white;
text-shadow: 1px 1px 4px #000, 0 0 20px #000;
position: relative;
cursor: pointer;
border: 2px solid #58aaff;
overflow: hidden;
text-decoration: none;
}
.personagem span {
z-index: 2;
}
.gif-overlay {
position: absolute;
inset: 0;
background-repeat: no-repeat;
background-size: 150%;
background-position: center -30px;
opacity: 0;
transition: opacity 0.4s ease;
z-index: 1;
pointer-events: none;
}
.personagem:hover {
transform: scale(1.05);
}
.personagem:hover .gif-overlay {
opacity: 1;
}
.personagem.luffy .gif-overlay {
background-position: center 0px;
}
.personagem.hancock {
background-size: 115%;
}
.personagem.kizaru {
background-position: center -20px;
}
/* --------- Tiers ----------- */
.tier-diamante .personagem {
background-color: #414c5c;
}
.tier-gold .personagem {
background-color: #d4af37;
}
.tier-prata .personagem {
background-color: #c0c0c0;
}
.tier-bronze .personagem {
background-color: #cd7f32;
}
</style>
</head> <body>
Aokiji
Bartholomew Kuma
Boa Hancock
Borsalino Kizaru
Brook (TS)
Chopper (TS)
Donquixote Doflamingo
Dracule Mihawk
Emporio Ivankov
Enel
Monkey D. Luffy (TS)
Capone Gang Bege
Bon Clay
Alvida (Slime)
Baby 5
<script>
const cards = document.querySelectorAll('.personagem');
cards.forEach(card => {
const staticImg = card.getAttribute('data-static');
const gifImg = card.getAttribute('data-gif');
const overlay = card.querySelector('.gif-overlay');
card.style.backgroundImage = `url('${staticImg}')`;
card.addEventListener('mouseenter', () => {
const uniqueGifUrl = `${gifImg}?t=${new Date().getTime()}`;
overlay.style.backgroundImage = `url('${uniqueGifUrl}')`;
});
card.addEventListener('mouseleave', () => {
overlay.style.backgroundImage = ;
});
});
document.getElementById('search').addEventListener('input', function () {
const term = this.value.toLowerCase();
cards.forEach(card => {
const name = card.querySelector('span').textContent.toLowerCase();
card.parentElement.style.display = name.includes(term) ? 'block' : 'none';
});
});
// Links dos personagens
const personagemLinks = {
"Aokiji": "https://wiki.gla.com.br/index.php/Aokiji",
"Bartholomew Kuma": "https://wiki.gla.com.br/index.php/Kuma",
"Boa Hancock": "https://wiki.gla.com.br/index.php/Boa_Hancock",
"Borsalino Kizaru": "https://wiki.gla.com.br/index.php/Kizaru",
"Brook (TS)": "https://wiki.gla.com.br/index.php/Brook_(Timeskip)",
"Chopper (TS)": "https://wiki.gla.com.br/index.php/Chopper_(Timeskip)",
"Donquixote Doflamingo": "https://wiki.gla.com.br/index.php/Doflamingo",
"Dracule Mihawk": "https://wiki.gla.com.br/index.php/Mihawk",
"Emporio Ivankov": "https://wiki.gla.com.br/index.php/Ivankov",
"Enel": "https://wiki.gla.com.br/index.php/Enel",
"Monkey D. Luffy (TS)": "https://wiki.gla.com.br/index.php/Luffy_(Timeskip)",
"Capone Gang Bege": "https://wiki.gla.com.br/index.php/Capone_Bege",
"Bon Clay": "https://wiki.gla.com.br/index.php/Mr.2",
"Alvida (Slime)": "https://wiki.gla.com.br/index.php/Alvida",
"Baby 5": "https://wiki.gla.com.br/index.php/Baby_5"
};
// Envolve as boxes com <a>
cards.forEach(card => {
const span = card.querySelector('span');
const nomePersonagem = span?.textContent.trim();
const link = personagemLinks[nomePersonagem];
if (link) {
const wrapper = document.createElement('a');
wrapper.href = link;
wrapper.target = "_blank";
wrapper.style.display = "block";
wrapper.style.textDecoration = "none";
card.parentElement.replaceChild(wrapper, card);
wrapper.appendChild(card);
}
});
</script>
</body> </html>