Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dwie klikalne części div
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
AxZx
witam

mam div o wymiarach 500x300px.
chciałbym żeby lewa i prawa część tego diva była klikalna, lewa część do poprzedniego zdjęcia, prawa do następnego.

  1. <div class="main_zdjecie">
  2. <img />
  3. <div class="zdj_nav prev"><a href="nastepne_zdjecie"> </a></div>
  4. <div class="zdj_nav next"><a href="poprzednie_zdjecie"> </a></div>
  5. </div>


w FF sobie poradziłem, działa dobrze.
teraz tylko problem wiadomo z czym (IE7, 6).

CSS taki ułożyłem:
Kod
#pokaz .zdj_nav{
    position: absolute;
    height: 100%;
    width: 100px;
}
#pokaz .zdj_nav:hover{
    background-color: white;
    cursor: pointer;
}
#pokaz .zdj_nav a{
    height: 100%;
    display: block;
    width: 100%;
}
#pokaz .prev{
    top: 0;
    left: 0;    
}
#pokaz .next{
    top: 0;
    right: 0;
}


ma ktoś pomysł jakby to można było zmodyfikować, żeby w IE to dobrze działało?
pozdrawiam
erix
Masz problem, bo pozycjonujesz absolutnie te przyciski. Zrób floatami, ale po co wynajdywać koło na nowo?

Zobacz sobie, jak zostało to już zrealizowane: http://www.huddletogether.com/projects/lightbox2/
AxZx
tam jest ten sam problem, tylko rozwiązali go tak, że na sztywno wprowadzają wysokość dla tych a.
a ja się pytam czy nie ma jakieś sposoby na to, żeby to a jednak było na całej wysokości bez podawania mu background czy height.
erix
Podejrzewam, że będziesz musiał pomęczyć się z expressions... O ile mnie pamięć nie myli, to wysokość w Lightboksie jest ustawiana via JS.
AxZx
już wiem co oni tam zmontowali:)
Kod
background-image: url(data:image/gif;base64,AAAA);


tak czułem, że jakiś hack musi być.
bo gdy ustawiłem dla a jakiś background to był na wysokość 100% - czyli tak jak ma być:)

pozdrawiam.
erix
Fakt, też zastanawiałem się nad tą linijką, ale nie przyszło mi do głowy, że to mogło być to...

Tak BTW, w position: absolute, czy dałeś floaty?
AxZx
taki brzydki kod popełniłem:

Kod
#pokaz .col2 .main_zdjecie{
    text-align: center;
    border: 1px solid #4C3E2E;
    background-color: #231607;
    margin-bottom: 10px;
    position: relative;
}
#pokaz .col2 .main_zdjecie_nav{
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}
#pokaz .col2 .main_zdjecie_nav a{
    display: block;
    width: 30%;
    height: 100%;
    background-image: url(data:image/gif;base64,AAAA);
    outline: none;
}
#pokaz .col2 .main_zdjecie_nav a.prev_link{
    float: left;
    left: 0;    
}
#pokaz .col2 .main_zdjecie_nav a.next_link{
    float: right;
    right: 0;    
}
#pokaz .col2 .main_zdjecie_nav a.prev_link:hover{
    background: url(../img/prevlabel.gif) left 20% no-repeat;
}
#pokaz .col2 .main_zdjecie_nav a.next_link:hover{
    background: url(../img/nextlabel.gif) right 20% no-repeat;
}


czyli i float i absolute. działa dobrze i w FF jak i w IE.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.