cor de fundo div, para mudar ao passar

91

Estou tentando fazer uma mudança de cor de fundo de div ao passar o mouse .

o div {background: white;}
o div a: hover {background: grey; largura: 100%;
display: bloco; decoração de texto: nenhum;}

apenas o link dentro do div obtém a cor de fundo .

o que eu poderia fazer para que todo o div obtivesse essa cor de fundo?

obrigado

EDIT:
como posso fazer com que o div inteiro funcione como um link - quando você clica em qualquer lugar nesse div, para levá-lo a um endereço.

Ionuț G. Stan
fonte
Tente este link codebins.com/codes/home/4ldqpc0
gaurang171

Respostas:

117

O " a:hover" literalmente diz ao navegador para alterar as propriedades da <a>-tag, quando o mouse passa sobre ele. O que você quis dizer foi " the div:hover" em vez disso, que seria acionado quando o div fosse escolhido.

Apenas para ter certeza, se você deseja alterar apenas um div em particular, dê a ele um id (" <div id='something'>") e use o CSS " #something:hover {...}" em seu lugar. Se você quiser editar um grupo de divs, transforme-os em uma classe (" <div class='else'>") e use o CSS " .else {...}" neste caso (observe o ponto antes do nome da classe!)

Henrik Paul
fonte
44

Usando Javascript

   <div id="mydiv" style="width:200px;background:white" onmouseover="this.style.background='gray';" onmouseout="this.style.background='white';">
    Jack and Jill went up the hill 
    To fetch a pail of water. 
    Jack fell down and broke his crown, 
    And Jill came tumbling after. 
    </div>
Vermelho Real.
fonte
21

Não há necessidade de colocar âncora. Para alterar o estilo da div ao passar o mouse, altere a cor de fundo da div ao passar o mouse.

<div class="div_hover"> Change div background color on hover</div>

Na página .css

.div_hover { background-color: #FFFFFF; }

.div_hover:hover { background-color: #000000; }
Virsj Bhorania
fonte
17

Para fazer com que todo o div atue como um link, defina a tag âncora como:

display: block

E defina a altura da tag âncora para 100%. Em seguida, defina uma altura fixa para sua tag div. Em seguida, estilize sua etiqueta âncora como de costume.

Por exemplo:

<html>
<head>
    <title>DIV Link</title>

    <style type="text/css">
    .link-container {
        border: 1px solid;
        width: 50%;
        height: 20px;
    }

    .link-container a {
        display: block;
        background: #c8c8c8;
        height: 100%;
        text-align: center;
    }

    .link-container a:hover {
        background: #f8f8f8;
    }

    </style>

</head>
<body>

    <div class="link-container">
        <a href="http://www.stackoverflow.com">Stack Overflow</a>
    </div>

    <div class="link-container">
        <a href="http://www.stackoverflow.com">Stack Overflow</a>
    </div>

</body> </html>

Boa sorte!

Shaun
fonte
11

Código HTML:

    <!DOCTYPE html>
    <html>
    <head><title>this is your web page</title></head>
    <body>
    <div class = "nicecolor"></div>
    </body>
    </html>

código css:

    .nicecolor {
      color:red;
      width:200px;
      height:200px;
     }

    .nicecolor:hover {
      color:blue;
     }

e é assim que você mudará seu div de vermelho para azul passando o mouse sobre ele.

user3689455
fonte
5

Conjunto

display: block;

em um e dar alguma altura

Jamol
fonte
3

simplesmente tente a propriedade "hover" do CSS. por exemplo:

<html>
<head>
    <style>
        div
        {
            height:100px;
            width:100px;
            border:2px solid red;
        }
        div:hover
        {
            background-color:yellow;
        }
    </style>
</head>
<body>
            <a href="#">
                      <div id="ab">
                                <p> hello there </p>
                      </div>
            </a>
</body>

Espero que isso ajude

Tajveer Singh Nijjar
fonte
1

Você pode simplesmente colocar a âncora em torno do div.

<a class="big-link"><div>this is a div</div></a>

e depois

a.big-link {
background-color: 888;
}
a.big-link:hover {
 background-color: f88;
}
Nicki
fonte
0

você poderia apenas conter a div na tag âncora assim:

a{
  text-decoration:none;
  color:#ffffff;
}
a div{
  width:100px;
  height:100px;
  background:#ff4500;
}
a div:hover{
  background:#0078d7;
}
<body>
<a href="http://example.com">
<div>
Hover me
</div>
</a>
</body>

enganar
fonte
-1

Basta fazer a propriedade !importantem seu arquivo css para que a cor de fundo não mude ao passar o mouse. Isso funcionou para mim.

Exemplo:

.fbColor {
    background-color: #3b5998 !important;
    color: white;
}
T-Jayanth Dore
fonte
Você deve tentar anexar mais alguns detalhes à resposta, pois isso certamente não é uma resposta completa à pergunta.
Tatranskymedved