Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XHTML] element blokowy w liniowym, konflikt standardu z potrzebami
krzychos7
post 21.01.2010, 22:29:43
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.01.2010

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


Chciałbym zrobić element blokowy zawierający nagłówek, obrazek oraz paragraf, który funkcjonował by jak link.
Wiem że nie można używać elementów blokowych (jak <div>) wewnątrz elementów inline (jak <a>).
Próbowałem użyć zdarzenia onclick, do tego w CSS dodałem cursor: pointer. Co dało bardzo zbliżony efekt. Jednakże brakuje możliwości pod prawym przyciskiem wybrania otwarcia w nowym oknie/karcie oraz nie wyświetla się adres w pasku stanu.
Czy muszę naginać standard XHTML i wykorzystać <a> z display: block; czy istnieje jakieś inne rozwiązanie?
Go to the top of the page
+Quote Post
Pacio
post 22.01.2010, 00:18:20
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 27
Dołączył: 30.10.2005
Skąd: Lublin

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


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4. <style type="text/css">
  5. div {
  6. position: relative;
  7. }
  8.  
  9. a {
  10. position: absolute;
  11. top: 0;
  12. left: 0;
  13. height: 100%;
  14. width: 100%;
  15. background: url(1px.gif) repeat; /* przezroczysty 1x1px gif */
  16. text-indent:-9999px;
  17. }
  18.  
  19. </head>
  20.  
  21. <div>
  22. <h1>Lorem Ipsum is simply dummy</h1>
  23. <img src="img/obrazek.jpg" alt="" />
  24. <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>
  25.  
  26. <a href="link.html">ukryty tekst linka</a>
  27. </div>
  28.  
  29. </body>
  30. </html>


--------------------
Mój Blog Militarny: http://1rBlog.pl
Go to the top of the page
+Quote Post
krzychos7
post 23.01.2010, 22:05:07
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.01.2010

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


Dzięki smile.gif, chyba najlepsze rozwiązanie jak ktoś zaproponował (na innych forach pytałem i tylko w kółko o onclick pisali... mimo iż właśnie pisałem że to mnie nie zadowala). Zasadniczo nie lubię używać przeźroczystych pikseli z gif ale tu akurat chyba nie ma lepszego rozwiązania. Preferuje sposoby pozwalające odwiedzającym stronę zaznaczyć tekst lecz tu akurat można z tego zrezygnować.

PS.
No i czar prysł, gryzie się to z efektami jQuery chyba, i to 100% przyjmuje na całą stronę zamiast tylko diva. Widocznie nie może się ot odnosić do modyfikowanych AJAXem elementów. Ale rozwiąże jednak to bardziej skomplikowanym sposobem, za pomocą JS właśnie funkcje zrobię która będzie wstawiała dynamicznie tag linku wokół obrazka takstu nagłówka i tekstu paragrafu danego DIVa przez co tam będzie działał prawoklik, zaś reszta DIVa będzie miała onclick. Może nie da to 100% tego co chce ale będzie się walidowało i działało.

Ten post edytował krzychos7 23.01.2010, 22:25:59
Go to the top of the page
+Quote Post
ShadowD
post 23.01.2010, 23:29:05
Post #4





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


<a> jest domyślnie elementem blokowym ale można to zmienić na np. blokowy! (display:block;)

Dzięki temu nie potrzebujesz w ogóle diva, a jego całe ostylowanie może przenieść na owy odnośnik.

Nie powinno się nakładać przezroczystych masek ani z onclick w tym przypadku...


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
krzychos7
post 24.01.2010, 22:15:36
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.01.2010

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


Właśnie o tym mowa. Zasadniczo tak nie powinno się robić no i można ustawić <a> na block (pisałem o tym też w pierwszym poście) jednak mimo tego nie można umieszczać w nim elementów blokowych, tak jest na stronie W3C oraz każdy walidator wywala na tym błąd.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:09