MozillaPL.org - polskie centrum Mozilli

Główne menu:

przesłaniająca warstwa i martwy button

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

przesłaniająca warstwa i martwy button

Postautor: Wiciu » 06 listopada 2007, 21:45

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9

w zasadzie miało być pytanie dlaczego to nie działa w IE bo taki mam
przypadek w kodzie (zdarzenie click jquery nie działa na buttonie
przysłoniętym warstwą), zbyt duży jednak kod żeby przytaczać spłodziłem
więc taki aby zaprezentować problem i... na tym poniżej działa w IE ale
nie w FF(!?). Dlaczego button mimo, że widoczny to przestaje "odbierać"
zdarzenia? Mam potrzebę wykorzystania statycznych buttonów i ruchomych
warstw, co z tym zrobić?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>test</title>
<style type="text/css">

#test {
width: 100%;
height: 200px;
border: 1px solid red;
position: relative;
top: 150px;

}

</style>
</head>
<body>

<div id="test" >

</div>
<div style="z-index: 100">
<input type="button" onclick="alert('test')" value="test" />
</div>
</body>
</html>
Wiciu
 

Postautor: rumsztyk » 13 listopada 2007, 14:41

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9

nie wiem jaki jest cel tego zapisu ale przesunięcie div-a dla którego dajesz z-index do środka div id="test" rozwiązuje problem
Kod: Zaznacz cały
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>test</title>
<style type="text/css">

#test {
width: 100%;
height: 200px;
border: 1px solid red;
position: relative;
top: 150px;

}

</style>
</head>
<body>

<div id="test" >
<div>
<input type="button" onclick="alert('test')" value="test" />
</div>
</div>

</body>
</html>


po co nadajesz z-index dla elementu który nie jest pozycjonowany w żaden sposób. z-index działa tylko dla elementów pozycjonowanych

teraz nie działa dlatego, że:

deklarujesz ustawienie w html

1. div id="test"
2. potem jest div (ten z z-index) a w nim button

w css usuwasz z normalnego rozmieszczenia div id="test" i przesuwasz w dół o 150px przysłaniając button, który jest w div-e dla którego z-index nie zadziała bo nie jest pozycjonowany w żaden sposób, więc:

jeżeli button ma być pod div id="test" to usuń position: relative i ten nieszczęsny z-index

jeżeli button ma być w środku div id="test" to patrz wyżej albo dla div-a zawierającego button nadaj jakieś position i z-index np. 10 a dla div id="test" z-index: 5
rumsztyk
 


Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: