Autor Beitrag
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 12.07.07 20:44 
Hallo,

ich möchte meine Seite w3c-kompatibel halten. Dabei bin ich auf folgendes Problem gestoßen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
<div class="menupoints">
  <a href="index.php?action=va"><div>Spiel</div></a>
  <a href="index.php?action=player"><div>Spieler</div></a>
  <a href="index.php?action=raceedit"><div>externes</div></a>
  <a href="index.php?action=home"><div class="active">ACP</div></a>
</div>

Das ist nicht w3c-Kompatibel. Er meckert rum, dass nen div direkt nach nem a nicht erlaubt ist. Wie bekomme ich es trotzdem hin, dass der div als Link aufgefasst wird (ohne JS versteht sich)?

Grüße
Heiko
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Do 12.07.07 20:49 
Warum brauchst du den Div?
<p>..</p>
<span>..</span>

_________________
Markus Kinzler.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 12.07.07 20:52 
Ich weiß nicht, ob das mit p gehen würde (muss ich morgen mal austesten, auch wenn ich es nicht glaube):

ausblenden Quelltext
1:
2:
3:
4:
5:
div.menupoints * div {background:url(../design/menu.bmp); border-top: 1Px solid #6496D2; height: 25Px; font-size: 12Px; padding-left: 10Px; padding-top: 5Px; cursor: pointer}
div.menupoints * div:hover {background:url(../design/menu_hov.bmp)}
div.menupoints * div:active {background:url(../design/menu_foc.bmp); color: #003C78;}
div.menupoints * div.active {background:url(../design/menu_act.bmp); color: #000000}
div.menupoints * div.active:hover {background:url(../design/menu_act_hov.bmp)}
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 13.07.07 06:44 
Ähm... warum wendest du das nicht gleich auf das <a> an? Display: Block; und es verhält sich wie ein <div>.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Fr 13.07.07 14:06 
Hast Recht, Danke :zustimm: (war wahrscheinlich so froh, mal etwas mit Divs machen zu können, wo ich keine Tabelle brauche ;))
Brother John
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 28

WinXP
Turbo Delphi Explorer Win32
BeitragVerfasst: Fr 13.07.07 14:50 
Ein <a> darf keine Blockelemente enthalten, daran liegt das eigentliche Problem.

<a> als display:block auszuzeichnen wird meistens funktionieren, kann aber unter dummen Umständen auch zu Problemen führen, denn zumindest in den Strict-Varianten von (X)HTML muss jedes Inline-Element in einem übergeordneten Blockelement enthalten sein, wobei <body> nicht zählt und natürlich die CSS-Definitionen fürs reine (X)HTML-Parsing nicht greifen. So etwas wie
ausblenden Quelltext
1:
2:
3:
4:
5:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
...
<body>
  <a href="...">Link</a>
</body>

darf also nicht sein. Das solltest du im Hinterkopf behalten, aber wenn das Seitenlayout nicht gerade extremst simpel ist, fängt sowieso das eine oder andere Container-Div das Problem ab.

_________________
Grüße
Brother John
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Fr 13.07.07 16:00 
Diese Richtung ist mir bekannt (Container->Inhalt). Umgekehrt war es mir nur noch nicht bekannt ;).