![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chcę zrobić tak, aby po kliknięciu w dowolne miejsce wewnątrz mojego diva użytkownik został przeniesiony na inną podstronę. Początkowo zrobiłem to za pomocą zdarzenia onclick przypisanego do tego diva. Później jednak okazało się, że możliwe jest wstawienie całego tego diva jako nazwy hiperłącza. Pomyślałem, że będzie to lepsze rozwiązanie z względu na użytkowników z wyłączoną/blokowaną JS. Jednak w takim wypadku strona nie waliduję się poprawnie w walidatorze. Problemem jest umieszczenie elementu blokowego (div) wewnątrz liniowego (a). Tak więc w jaki najlepszy sposób zrobić "klikalnego" diva? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Od początku tak mam, jednak nic to przecież nie zmienia, gdyż dla walidatora liczy się poprawność szkieletu html. Jeżeli chcesz zrobić to za pomocą div'a z powodu np. zawartości w nim (np. nie tylko link, ale jakieś ramki itd.), polecam korzystanie ze znacznika <span></span>, któremu również możesz nadać parametr display:block i pozycjonować wewnątrz <a></a>, a dodatkowo jest zgodny ze standardami. Rozwiązanie też nie najlepsze, gdyż wewnątrz diva którego chce umieścić w <a> znajdują się inne divy, obrazki itp. Zamiana głównego diva na span skutkuje tym, że pojawią się problem taki, że w elemencie liniowym <span> nie może znaleźć się blokowy div itd. No nic, albo będę musiał tak to zostawić (div bezpośrednio jako nazwa hiperłącza [przy Document type html 4]) lub pomyśleć nad przejściem na html5. Jak ktoś ma jeszcze jakaś koncepcję to chętnie ją poznam. Pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 03:58 |