Alternativen zu illegalen br oder p in li-Tags auf einem Hover?

8

Hat jemand einen Vorschlag zum Erstellen von Zeilenbereichen vom Typ "Absatz" in einem <li> -Tag, der eine Popup-Pseudoklasse enthält, die sich im Schwebezustand befindet?

Ich habe ein <span> , das auf a:hover erscheint, und ich möchte, dass der auftauchende Text in zwei Absätze aufgeteilt wird. Es funktioniert mit <br> in FF, aber ich möchte das Richtige tun (jetzt, da ich entdeckt habe, dass es falsch ist!) ...

html:

%Vor%

css:

%Vor%     
svick 09.01.2009, 11:15
quelle

5 Antworten

1

Ihr Problem kann dadurch entstehen, dass Sie ein & lt; span & gt; falsch taggen.

Spans sollten Inline-Elemente sein, und Sie gestalten es so, als wäre es ein Blockelement. Zugegebenermaßen können Sie eine Spanne zwingen, sich als Blockelement zu verhalten, indem Sie den richtigen Stil hinzufügen, aber dies wird von den verschiedenen Browsern nicht immer eingehalten.

Idealerweise sollten Sie stattdessen ein div verwenden. Sie können dann entweder p-Tags oder weitere div-Tags verwenden, um die Absätze anzugeben (im Idealfall p, da sie semantisch eigentlich Absätze sind und keine unzusammenhängenden Textblöcke).

    
inferis 09.01.2009, 11:39
quelle
16

Err es ist nichts falsch daran, <br> in% <a> oder <span> zu haben. Es ist nach HTML 4.01-Spezifikation absolut gültig.

Bearbeiten: <li> kann <p> , <br> und so ziemlich alles andere enthalten.

Die Spezifikation ist ein bisschen schwer zu lesen, aber sagt im Grunde:

  • LI kann block oder inline enthalten
  • block besteht aus P + einigen anderen Dingen
  • inline besteht aus special + einigen anderen Dingen
  • special besteht aus A + BR + einige andere Dinge

Bezüglich <a> heißt es:

  • A kann inline außer A enthalten
  • inline ... siehe oben
Greg 09.01.2009 11:26
quelle
1

Du könntest einen anderen Bereich als "falsches" p-Tag einfügen:

%Vor%

Und in deinem css:

%Vor%

Hinweis Alles, was Sie für #rightlist span deklarieren, wird auf #rightlist span span angewendet, sodass Sie möglicherweise einige der Regeln in #rightlist span span überschreiben müssen.

    
Oli 09.01.2009 11:24
quelle
0

Warum ist es "falsch"?

Ihr br-Tag sollte vielleicht wie folgt codiert sein:

%Vor%     
Adrian 09.01.2009 11:42
quelle
-4

Warum ist Ihr aktueller Weg falsch?

Sie können dies versuchen

%Vor%     
Kim 09.01.2009 11:27
quelle