Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou com um problema no meu site, que sempre que clico em um link aparece um fundo azul automático ao redor dele (como se fosse um background-color), que aparece apenas durante o ato de clicar, já tentei mudar todas as propriedades dos links como: a:hover, a:visited, a:active, a:focus, e não consegui remover. Na versão de PC eu apena fiz isso e resolvi o problema:
* {
/NÃO PERMITE QUE INTES E CARACTERES SEJAM SELECIONADOS/
-webkit-touch-callout: none; / iPhone OS, Safari /
-webkit-user-select: none; /* Chrome, Safari 3 */
-khtml-user-select: none; /* Safari 2 */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
user-select: none; /* Possível implementação no futuro */
/* cursor: default; */
}
Já na versão mobile isso não deu certo.
No menu superior do celular eu consegui tirar esse fundo dos itens do menu adicionando height: 0px, padding: 0px nos links.
Mas nos menu do footer não consegui resolver o problema.
Em fim, eu sou novo na programação, espero que tenham entendido o meu problema (não é o azul do link padrão, e sim um fundo azul ao redor do link que aparece e desaparece quando clicado).
Vou mostrar o css e html do roda-pé que pediram:
<!-- RODAPÉ -->
<footer id="roda-pe">
<div id="roda-centro">
<ul>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1"><div id="quadrado1">Sistema</div></a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo2" class="scroll" id="menu-rodape-2">Sobre Nós</a></li>
<li><div id="nbsp"> | </div></li><br>
<li><a href="#titulo3" class="scroll" id="menu-rodape-3">Planos</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo4" class="scroll" id="menu-rodape-4">Contato</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#" class="scroll" id="menu-rodape-5">Login</a></li>
</ul>
<br>
<ul>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1">Facebook</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1">Goolge+</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1">linkedin</a></li>
<br><br>
<i>Todos os direitos reservados.</i>
</ul>
</div>
</footer>
</body>
</html>
css
<style>
/* RODAPÉ */
#roda-pe {
background-color: black;
width: 100%;
position: relative;
margin-top: 50px;
height: 200px;
position: relative;
top: 200px;
}
#roda-pe i {
color: rgb(184, 178, 178);
margin-left: 120px;
position: relative;
margin: 0 auto;
}
#roda-pe li {
color: white;
display: inline-block;
font-size: 18px;
background-color: none!important;
width: auto;
cursor: pointer;
}
#roda-pe a {
text-decoration: none;
color: white;
height: 0px;
width: 0px;
padding: 0px;
margin: 0px;
cursor: pointer;
position: relative;
}
#roda-pe ul {
position: relative;
margin: 0 auto;
max-width: 500px;
text-align: center;
}
#roda-pe a:hover {
color: red;
transition-duration: 1s;
}
#roda-pe a:focus, #roda-pe a:hover {
outline: none;
text-decoration: none;
}
#roda-centro {
position: relative;
top: 50px;
}
</style>Fica difícil dizer o está acontecendo, mesmo porque é confuso sua explicação.
Acredito que seja o outline por dedução
>
7 horas atrás, Davi M. disse:
fundo azul automático ao redor dele
Porém pode ser apenas má construção do CSS ao qual alguma coisa esteja interagindo e essa coisa tem o "fundo azul".
Tente algo como isso se for um elemento de tag <a>
a, a * {outline:0}
/ ou isso /
a, a * {outline:none}
/ ou isso /
a:active, a:hover {outline-width:0}
Mas de qualquer forma fica difícil só por especulação dizer qual a melhor alternativa a se tomar, sem conhecer a estrutura do CSS que está usando.
>
24 minutos atrás, Omar~ disse:
Fica difícil dizer o está acontecendo, mesmo porque é confuso sua explicação.
Acredito que seja o outline por dedução
Porém pode ser apenas má construção do CSS ao qual alguma coisa esteja interagindo e essa coisa tem o "fundo azul".
Tente algo como isso se for um elemento de tag <a>
a, a * {outline:0}
/ ou isso /
a, a * {outline:none}
/ ou isso /
a:active, a:hover {outline-width:0}
Mas de qualquer forma fica difícil só por especulação dizer qual a melhor alternativa a se tomar, sem conhecer a estrutura do CSS que está usando.
Já usei o outline: none; porem na versão mobile isso não surgiu efeito.
Menu do rada-pé
<!-- RODAPÉ -->
<footer id="roda-pe">
<div id="roda-centro">
<ul>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1"><div id="quadrado1">Sistema</div></a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo2" class="scroll" id="menu-rodape-2">Sobre Nós</a></li>
<li><div id="nbsp"> | </div></li><br>
<li><a href="#titulo3" class="scroll" id="menu-rodape-3">Planos</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo4" class="scroll" id="menu-rodape-4">Contato</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#" class="scroll" id="menu-rodape-5">Login</a></li>
</ul>
<br>
<ul>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1">Facebook</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1">Goolge+</a></li>
<li><div id="nbsp"> | </div></li>
<li><a href="#titulo1" class="scroll" id="menu-rodape-1">linkedin</a></li>
<br><br>
<i>Todos os direitos reservados.</i>
</ul>
</div>
</footer>
</body>
</html>
css
<style>
/* RODAPÉ */
#roda-pe {
background-color: black;
width: 100%;
position: relative;
margin-top: 50px;
height: 200px;
position: relative;
top: 200px;
}
#roda-pe i {
color: rgb(184, 178, 178);
margin-left: 120px;
position: relative;
margin: 0 auto;
}
#roda-pe li {
color: white;
display: inline-block;
font-size: 18px;
background-color: none!important;
width: auto;
cursor: pointer;
}
#roda-pe a {
text-decoration: none;
color: white;
height: 0px;
width: 0px;
padding: 0px;
margin: 0px;
cursor: pointer;
position: relative;
}
#roda-pe ul {
position: relative;
margin: 0 auto;
max-width: 500px;
text-align: center;
}
#roda-pe a:hover {
color: red;
transition-duration: 1s;
}
#roda-pe a:focus, #roda-pe a:hover {
outline: none;
text-decoration: none;
}
#roda-centro {
position: relative;
top: 50px;
}
</style>Sim compreendo, seguindo as características que agora apresentou fiz um teste e realmente não consegui barrar o efeito citado.
O mais estranho que deveria funcionar em qualquer dispositivo....
De qualquer forma não acho que isso seja um problema, nem que isso iria reduzir as característica do design.
Mas, se for realmente necessário, uma solução seria usar o javascript, assim sendo criando elementos "que não são links" aos quais possui propriedades que definem o link, então quando clicados sobre ele o javascript captura os valores e assume a responsabilidade do direcionamento.
Veja, preparei o comportamento pelo javascript:
Spoiler
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0
}
* a,
* a:visited,
* a:hover,
* a:active {
outline: none;
text-decoration: none
}
/* RODAPÉ */
footer {
background-color: #000000;
width: 100vw;
height: 12.5rem;
position: relative;
text-align: center;
top: 15.625rem;
display: table
}
#roda-centro {
display: table-cell;
vertical-align: middle
}
#roda-centro > ul {
max-width: 31.25rem;
margin: auto
}
#roda-centro > ul > li {
color: #ffffff;
display: inline-block;
font-size: 1.125rem;
cursor: pointer
}
#roda-centro > ul > li:after {
content: " | "
}
#roda-centro > ul > li:last-of-type:after {
content: ""
}
#roda-centro > ul:nth-child(2) {
margin-bottom: .625rem
}
#roda-centro > ul:nth-child(3) {
margin-bottom: 1.875rem
}
footer i {
color: #b8b2b2
}
</style>
</head>
<body>
<footer>
<div id="roda-centro">
<ul>
<li class="scroll" data-link="#titulo1">Sistema</li>
<li class="scroll" data-link="#titulo2">Sobre Nós</a></li>
</ul>
<ul>
<li class="scroll" data-link="#titulo3">Planos</a></li>
<li class="scroll" data-link="#titulo4">Contato</a></li>
<li class="scroll" data-link="#">Login</li>
</ul>
<ul>
<li class="scroll" data-link="https://www.google.com" data-mod="_blank">Facebook</li>
<li class="scroll" data-link="https://www.google.com" data-mod="_blank">Goolge+</li>
<li class="scroll" data-link="https://www.google.com" data-mod="_blank">linkedin</li>
</ul>
<i>Todos os direitos reservados.</i>
</div>
</footer>
<script>
var $link = document.getElementsByClassName('scroll');
for (var $i = 0; $i < $link.length; $i++) {
$link[$i].addEventListener('click', redirecionar, false);
}
function redirecionar(e) {
var $tgt = e.target;
var $data = [];
$data[0] = $tgt.dataset.link;
$data[1] = $tgt.dataset.mod;
if ($data[1]) {
window.open($data[0], $data[1]);
} else {
window.location.href = $data[0];
}
}
</script>
</body>
</html>
Note que fiz correções e otimizações em seu css, mas nos concentramos no script.
Perceba que cada link possui uma propriedade data-*.
A definição data-link será o href do que seria o elemento <a>, enquanto que se usado o data_mod seria o modo de acesso, no caso como deu para sacar você tem links para direcionamento externo como facebook então uso essa propriedade para definir que quando clicado eu quero que uma nova aba seja aberta ao invés de trocar a url atual.
Ou seja, qualquer elemento que tenha o seletor "scroll" quando clicado a função será ativada.>
2 horas atrás, Omar~ disse:
Sim compreendo, seguindo as características que agora apresentou fiz um teste e realmente não consegui barrar o efeito citado.
O mais estranho que deveria funcionar em qualquer dispositivo....
De qualquer forma não acho que isso seja um problema, nem que isso iria reduzir as característica do design.
Mas, se for realmente necessário, uma solução seria usar o javascript, assim sendo criando elementos "que não são links" aos quais possui propriedades que definem o link, então quando clicados sobre ele o javascript captura os valores e assume a responsabilidade do direcionamento.
Veja, preparei o comportamento pelo javascript:
Mostrar conteúdo oculto
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0
}
* a,
* a:visited,
* a:hover,
* a:active {
outline: none;
text-decoration: none
}
/* RODAPÉ */
footer {
background-color: #000000;
width: 100vw;
height: 12.5rem;
position: relative;
text-align: center;
top: 15.625rem;
display: table
}
#roda-centro {
display: table-cell;
vertical-align: middle
}
#roda-centro > ul {
max-width: 31.25rem;
margin: auto
}
#roda-centro > ul > li {
color: #ffffff;
display: inline-block;
font-size: 1.125rem;
cursor: pointer
}
#roda-centro > ul > li:after {
content: " | "
}
#roda-centro > ul > li:last-of-type:after {
content: ""
}
#roda-centro > ul:nth-child(2) {
margin-bottom: .625rem
}
#roda-centro > ul:nth-child(3) {
margin-bottom: 1.875rem
}
footer i {
color: #b8b2b2
}
</style>
</head>
<body>
<footer>
<div id="roda-centro">
<ul>
<li class="scroll" data-link="#titulo1">Sistema</li>
<li class="scroll" data-link="#titulo2">Sobre Nós</a></li>
</ul>
<ul>
<li class="scroll" data-link="#titulo3">Planos</a></li>
<li class="scroll" data-link="#titulo4">Contato</a></li>
<li class="scroll" data-link="#">Login</li>
</ul>
<ul>
<li class="scroll" data-link="https://www.google.com" data-mod="_blank">Facebook</li>
<li class="scroll" data-link="https://www.google.com" data-mod="_blank">Goolge+</li>
<li class="scroll" data-link="https://www.google.com" data-mod="_blank">linkedin</li>
</ul>
<i>Todos os direitos reservados.</i>
</div>
</footer>
<script>
var $link = document.getElementsByClassName('scroll');
for (var $i = 0; $i < $link.length; $i++) {
$link[$i].addEventListener('click', redirecionar, false);
}
function redirecionar(e) {
var $tgt = e.target;
var $data = [];
$data[0] = $tgt.dataset.link;
$data[1] = $tgt.dataset.mod;
if ($data[1]) {
window.open($data[0], $data[1]);
} else {
window.location.href = $data[0];
}
}
</script>
</body>
</html>
Note que fiz correções e otimizações em seu css, mas nos concentramos no script.
Perceba que cada link possui uma propriedade data-*.
A definição data-link será o href do que seria o elemento <a>, enquanto que se usado o data_mod seria o modo de acesso, no caso como deu para sacar você tem links para direcionamento externo como facebook então uso essa propriedade para definir que quando clicado eu quero que uma nova aba seja aberta ao invés de trocar a url atual.
Ou seja, qualquer elemento que tenha o seletor "scroll" quando clicado a função será ativada.
Muito obrigado Omar, não sabia que isso era possível rsrsrs, resolveu o meu problema.
Todos os links chamam a class="scroll", verificou o CSS dela?
A dica que eu dou, é inspecionar o elemento, pegar o hexadecimal ou RGB da cor e pesquisar em todo o seu CSS para verificar se em algum lugar está chamando essa cor, e no HTML também.
Tente adicionar nos links background-color: none; e background: none; para ver o resultado, aguardo seu retorno.
Também pode ser o navegador...
Abraço.