Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML]<div w <a - alternatywa
DiamondPir
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 12.09.2010

Ostrzeżenie: (0%)
-----


witam...
potrzebuję zrobić box/div w którym będę miał <table
i muszę dodać taką akcję, że jak kliknę gdziekolwiek na ten box to mnie przenosi na podany link

kod:
  1. <a href="http://strona.pl/" >
  2. <div>tabela</div>
  3. </a>


nie jest dobrym rozwiązaniem.
Potrzebuję alternatywy...

proszę o pomoc
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Nie wiem za bardzo o co chodzi? Żeby cała tabela była linkiem?

A jeśli chcesz by link był wyświetlany blokowo, jak div, to dodaj w css:

  1. a {
  2. display: block;
  3. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
DiamondPir
post
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 12.09.2010

Ostrzeżenie: (0%)
-----


chodzi właśnie o to żeby cała tabelka była linkiem...
Twój przykład oczywiście mogę wykorzystać ale wstawiając tabelkę w <a> nie jest to dobre rozwiązanie...
czy nie można np zrobić <div onclick="load:http://strona.pl" czy coś w tym stylu?
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Tak na szybko to np:
Kod
$('#my_div').click(function(){
   window.location = 'http://strona.pl';
});

Oczywiście w czystym js będzie lepiej i szybciej jeśli nie korzystasz z jquery.
Go to the top of the page
+Quote Post
kamil4u
post
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Cytat
Tak na szybko to np:

Bez przesady - tu wystarczy CSS

Tak jak pisano: display: block; , ale odwrotnie wsadzone elementy: http://jsfiddle.net/r84ph/


--------------------
Go to the top of the page
+Quote Post
DiamondPir
post
Post #6





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 12.09.2010

Ostrzeżenie: (0%)
-----


zobaczcie co chcę osiągnąć...: http://jsfiddle.net/5dLYU/

w <a chcę mieć mniejsze boxy w których będę sobie mógł wstawiać jakieś teksty...
i pytam czy rozwiązanie które przedstawiłem jest poprawne... Czy wstawienie DIVÓW w A jest poprawne pod względem walidacji i czy to działa na każdej przeglądarce...


Go to the top of the page
+Quote Post
CuteOne
post
Post #7





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


nie jest poprawne.. skorzystaj z przykładu Spawnm'a
Go to the top of the page
+Quote Post
Pawel_W
post
Post #8





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


a właśnie że jest, html5 już dopuszcza wink.gif

tutaj źródło: http://html5doctor.com/block-level-links-in-html-5/
Go to the top of the page
+Quote Post
Damonsson
post
Post #9





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Mimo wszystko, radzę zastosować się do rady użytkownika @kamil4u.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #10





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


robienie setki linków to nie jest dobry pomysł, chyba po to właśnie powstają tego typu ułatwienia? a z tego co wiem to nawet IE6 nie ma z tym problemu wink.gif
Go to the top of the page
+Quote Post
kamil4u
post
Post #11





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


A nie można poprawnie i bez kombinowania? http://jsfiddle.net/r84ph/1/

--edit--
A racja... nie doczytałem... Tylko "po co?"

Ten post edytował kamil4u 5.09.2012, 20:32:06


--------------------
Go to the top of the page
+Quote Post
Damonsson
post
Post #12





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cały szkopuł w tym, że autor tematu chce trochę "oszukać" użytkownika i te boxy są fikcyjne, tak naprawdę kliknięcie w obrębie całego DIVa ma przenosić na stronę X, więc polemizowanie jak to zrobić jest trochę bez sensu, bo zawsze będzie to niepoprawne, cokolwiek by ktoś wymyślił.
Go to the top of the page
+Quote Post
DiamondPir
post
Post #13





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 12.09.2010

Ostrzeżenie: (0%)
-----


CSS tutaj nie wystarczy bo jednak mój ostatni przykład stąd http://jsfiddle.net/5dLYU/ nie zachowuje się poprawnie na IE w trybie zgodności...

No ale wyskrobałem to na nowo według przykładu Spawnm http://jsfiddle.net/5dLYU/1/
niby działa ale czy takie rozwiązanie będzie działać na każdej przeglądarce?
Go to the top of the page
+Quote Post
-Paeeo-
post
Post #14





Goście







Bez sensu... closedeyes.gif

Robisz normalnie linki (<a>), w jego środku span'y z display: table oraz table-cell/row jak wolisz... Możesz robić span w spanie. Ważne, aby nie robić <p> w spanie bo zwróci błąd.
Przykład:

<a href="">
<span style="display:table;width:200px;height:100px;background:#444;">
<span style="display:table-cell;width:50px;">asd</span>
<span style="display:table-cell;width:50px;">asd</span>
<span style="display:table-cell;width:50px;">asd</span>
<span style="display:table-cell;width:50px;">asd</span>
</span>
</a>
Go to the top of the page
+Quote Post
DiamondPir
post
Post #15





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 12.09.2010

Ostrzeżenie: (0%)
-----


acha no też można... prześpię się i przetestuję jak to będzie chodzić na IE
Go to the top of the page
+Quote Post
-Paeeo-
post
Post #16





Goście







Możesz też sprawić, aby wewnętrzny span (załóżmy jakiś w span style="display:table-cell") był traktowany jako akapit (<p>), dla lepszego traktowania przez Google, przy pomocy jQuery. Nie wiem czy zwróci błąd (trzeba testować), ale spokojnie spany Ci wystarczą smile.gif Pozdrawiam!
Go to the top of the page
+Quote Post
Pawel_W
post
Post #17





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


Cytat(Paeeo @ 6.09.2012, 01:08:51 ) *
Bez sensu... closedeyes.gif

Robisz normalnie linki (<a>), w jego środku span'y z display: table oraz table-cell/row jak wolisz... Możesz robić span w spanie. Ważne, aby nie robić <p> w spanie bo zwróci błąd.

pod IE7 nie przejdzie wink.gif

co do wersji @Spawnma zadziała, o ile ktoś ma włączoną obsługę js (można spokojnie założyć że wszyscy), ale tworzenie takich linków ma katastrofalne znaczenie dla seo wink.gif
Go to the top of the page
+Quote Post
zegarek84
post
Post #18





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


  1. .mylink {text-decoration:none;color:#000;
  2. display:block;
  3. position:absolute;
  4. left:0;
  5. top:0;
  6. width:100%;
  7. height:100%;
  8. }
  9. .box {position:relative;}

  1. <div class="box">
  2. <tr>
  3. <td>1</td>
  4. <td>2</td>
  5. </tr>
  6. <tr>
  7. <td>3</td>
  8. <td>4</td>
  9. </tr>
  10. <tr>
  11. <td>5</td>
  12. <td>6</td>
  13. </tr>
  14. <a href="http://www.google.pl" class="mylink">
  15. </a>
  16. </div>

http://jsfiddle.net/zegarek84/PgK3Q/2/
soją drogą nie widzę nic złego w tym, aby wszystko objąć linkiem skoro html5 na to pozwala i w dodatku wszystkie przeglądarki od dawien dawna poprawnie to obsługiwały...
http://jsfiddle.net/zegarek84/PgK3Q/


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
DiamondPir
post
Post #19





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 12.09.2010

Ostrzeżenie: (0%)
-----


jedynym sposobem który działa na starych IE (w trybie zgodności) jest sposób ze spanem w linku:

  1. <a href="">
  2. <span style="display:table;width:200px;height:100px;background:#444;">
  3. <span style="display:table-cell;width:50px;">asd</span>
  4. <span style="display:table-cell;width:50px;">asd</span>
  5. <span style="display:table-cell;width:50px;">asd</span>
  6. <span style="display:table-cell;width:50px;">asd</span>
  7. </span>
  8. </a>


tyle tylko że jeśli najedzie się kursorem na span to kursor zmienia wygląd na text (zaznaczanie) i trzeba jedynie dodać w css:

  1. cursor:pointer;


wtedy to działa prawidłowo i prawidłowo wygląda...

opcje z divami w <a nie są poprawne bo IE ich nie otwiera
Go to the top of the page
+Quote Post
Pawel_W
post
Post #20





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


Cytat(DiamondPir @ 7.09.2012, 20:02:35 ) *
opcje z divami w <a nie są poprawne bo IE ich nie otwiera

ciekawe, sprawdzałem pod IE6,7,8,9 i działało smile.gif może masz błędy w kodzie i włącza Ci się quirks mode?
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 00:05