2010-02-11 16 views
6

Sono nuovo ai CSS. Voglio solo un div su un altro div al passaggio del mouse e la sua trasparenza dovrebbe aumentare. Ho fatto qualche cosa del genere di filecss opacity su hover di div

<div id="maincontainer"> 
<div id="picture"><img src="bill.jpg" alt="Bill Gates"></div> 
<h1>A floating image</h1> 
<p id="bill"></p> 
<div id="mem">sfasdf</div> 
</div> 
<div id="column1"> 
<p>Haec disserens qua de re agatur et in quo causa consistat non 
videt...</p> 
</div> 
<div id="column2"> 
<p>causas naturales et antecedentes, idciro etiam nostrarum 
voluntatum...</p> 
</div> 
<div id="column3"> 
<p>nam nihil esset in nostra potestate si res ita se haberet...</p> 
</div> 
<div id="slide"> 
<ul> 
    <li id="ims"><img src="test.jpg" height="200" width="200" /></li> 
    <li id="sp"></li> 
    <li id="ims"><img src="test.jpg" height="200" width="200" /></li> 
    <li id="sp"></li> 
    <li id="ims"><img src="test.jpg" height="200" width="200" /></li> 
    <li id="sp"></li> 
    <li id="ims"><img src="test.jpg" height="200" width="200" /></li> 
</ul> 
</div> 
<div id="left">l</div> 
<div id="right">R</div> 

e CSS è

body { 
    background-color: #FFCC66; 
    background-repeat: no-repeat; 
    background-attachment: scroll; 
    background-position: 50% 100%; 
    margin-top: 100px; 
    margin-right: 40px; 
    margin-bottom: 100px; 
    margin-left: 70px; 
} 

#picture { 
    height: 200px; 
    width: 170px; 
    float: left; 
} 

#column1 { 
    float: left; 
    width: 33%; 
} 

#column2 { 
    float: left; 
    width: 33%; 
} 

#column3 { 
    float: left; 
    width: 33%; 
} 

#bill { 
    font-family: Verdana, Arial, Helvetica, sans-serif; 
    font-size: 12px; 
    letter-spacing: 2px; 
    text-align: justify; 
    line-height: 20px; 
} 

#mem { 
    position: absolute; 
    top: 300px; 
    left: 150px; 
} 

#slide { 
    overflow: hidden; 
    position: absolute; 
    height: 220px; 
    width: 300px; 
    top: 500px; 
    left: 400px; 
    background-color: #333399; 
    z-index: 1; 
} 

#left { 
    position: absolute; 
    top: 500px; 
    left: 400px; 
    height: 220px; 
    width: 30px; 
    background-color: #FF33CC; 
    z-index: 2; 
    text-align: center; 
    color: #000000; 
    vertical-align: middle; 
    opacity: .5; 
} 

#left :hover { 
    position: absolute; 
    top: 500px; 
    left: 400px; 
    height: 220px; 
    width: 30px; 
    background-color: #CCCC00; 
    z-index: 2; 
    text-align: center; 
    color: #000000; 
    filter: alpha(opacity = 10); 
    -moz-opacity: 10; 
    -khtml-opacity: 10; 
    opacity: 10; 
    cursor: pointer; 
} 

voglio aumentare la trasparenza del div con id sinistra su hover

+0

Grazie @BalusC! –

+1

Vedo che non sei molto bravo in inglese, ma sarebbe sicuramente d'aiuto se potessi eseguire un controllo ortografico. Non sono un grammatico nazista, ma come lettore, diventa facile sfogliare il testo corretto e ci sono buone possibilità che tu venga preso più sul serio!
Solo un consiglio in senso stretto – questzen

risposta

6

non ho guardato attentamente il codice ma una cosa:

Questo

#left :hover{ 

probabilmente non è quello che vuoi. Si vuole

#left:hover{ 

significa, l'elemento con l'ID left al passaggio del mouse su di esso. Forse questo aiuta già a risolverlo.

+0

ma non funziona #left: hover { – rajanikant

11

Sono hovering paura di div elementi non è supportata nel nostro browser preferito (IE6), ma se siete disposti a rilasciare il supporto, il seguente codice dovrebbe funzionare:

#left { 
    opacity: 0.6; /* css standard */ 
    filter: alpha(opacity=60); /* internet explorer */ 
} 

#left:hover { 
    opacity: 1; /* css standard */ 
    filter: alpha(opacity=100); /* internet explorer */ 
} 
+0

Avrai bisogno di vedere qualcosa di simile a come i dropdown di suckerfish funzionano in IE6 applicando una classe on-hover. Mi piace solo IE6: passa il mouse sugli elementi di ancoraggio. – dylanfm

+1

Non dimenticare -webkit-opacity e -khtml-opacity. –

+0

+1 @ Marcel per l'attenzione ai dettagli. Stavo cercando di mantenerlo breve e dolce però. Anche @dylanfm ho fatto un tocco su IE6: problema al passaggio del mouse, forse una soluzione più semplice sarebbe usare As al posto dei DIV. Dipende da quale sarà il contenuto del DIV. – Rowan

0

Se si vuole la trasparenza sui vecchi browser utilizzare un file .png trasparente con un grigio chiaro o altro e applicarlo come div in cima al tuo altro div. Assicurati di usare la posizione: fissa in modo che fluttui insieme allo scroll, altrimenti mentre scorri finisci sotto.