Frage

Das span-Element scheint genau wie ein div zu sein, aber bei der Inline-Ebene statt auf Blockebene. Allerdings kann ich nicht zu denken, irgend vorteilhaft logischen Abschnitte scheint, dass die Spannweite Element zur Verfügung stellen kann.

Ein einzelner Satz oder Wort, wenn nicht in einem Satz enthalten ist, scheint der kleinste logische Teil zu sein. Das Ignorieren CSS, da CSS nur für das Layout und nicht für die semantische Bedeutung haben, , wenn nicht liefern Spanne zusätzlichen semantischen Wert durch einen Satz oder Wortfolge Zerhacken ?

Es scheint, dass in allen Fällen andere Elemente zum Hinzufügen semantischen Wertes besser geeignet sind, ein rein Layoutelement macht Spannweite. Ist das wahr?

War es hilfreich?

Lösung

kann Span verwendet werden semantische Bedeutung hinzufügen, die nicht in den Anwendungsbereich von HTML fällt. Dies kann durch Verwendung Klassen, die bestimmte Attribute identifizieren erfolgen. Zum Beispiel, wenn Sie einen Science-Fiction-Roman schreiben, können Sie verwenden, um Spanne hergerichtete Worte zu identifizieren, weil Sie jene formatieren können anders wollen, oder weil Sie die Rechtschreibprüfung mögen, sie ignorieren:

  

Dann rief der Assistent auf der gravenwist und hieß sie die nahende Armee angreifen. Der gavenwist widerstand aber der Assistenten wistwand war zu mächtig.

Dies könnte machen, wie

  

Dann wird der Assistent aufgerufen, der gravenwist und hieß sie die nahende Armee angreifen. Die gavenwist widerstand aber der Assistent des wistwand war zu mächtig.

Ein weiteres gutes Beispiel für diese Art der Sache ist Mikroformate, die der Erstellung beliebiger Struktur innerhalb von HTML erlauben:

<span class="tel">
 <span class="type">home</span>:
 <span class="value">+1.415.555.1212</span>
</span>

Der Vorteil der Spanne, im Vergleich zu div, ist, dass Spannweiten fast überall erscheinen können, weil sie Inline-Inhalt sind, und divs sind Blockelemente, so dass sie nur innerhalb bestimmter anderer Elemente auftreten.

Andere Tipps

Ein sehr nützlicher Vorteil wäre Änderungen in der Sprache zu markieren. Z.B.

<p>Welcome to Audi UK, <span lang="de">Vorsprung durch Technik</span>.</p>

Bildschirmlesegeräte mit mehreren Sprachfähigkeiten könnten davon Gebrauch machen.

Sie sind also nicht Präsentations-, nur generisch. In der Tat sind Spannweiten selten Präsentations-, ein semantisch sinnvollen Klassennamen verwendet wird, bieten, wie „Rechtschreibung-Fehler“ und nicht „fett-rot-Text“.

<div class="name">
  <span class="firstname">John</span>
  <span class="lastname">Doe</span>
</div>

Es hängt völlig ab, was Sie wollen zum Ausdruck bringen. Wenn Markierung auf den ersten Namen von semantischem Wert für Dich ist (sei es nur einen Haken haben für CSS Vornamen zu formatieren oder mit ihnen einige Skriptsprachen zu extrahieren), dann können Sie eine Spanne verwenden.

I SPAN verwende viel, wenn ich will, das Element haben JavaScript parsen und einen Wert innerhalb des Tags, zum Beispiel ein:

<span datafield="firstname"></span>

Möchten Sie einen Wert in sie später eingesetzt hat, so dass in diesem Fall es Sinn hat, wenn auch nur eine Bedeutung, die ich entscheiden, es zu geben. Die Tatsache, dass sonst span stellen keine Auswirkung auf das Layout hat, ist ideal in diesem Fall.

spans können tatsächlich Träger für semantische Informationen in Form von class Attribute sein. Dies wird verwendet, um Mikroformate.

span-Tags benötigen eine Klasse oder id-Attribut zu geben, ihnen Bedeutung.

z. 0123 456789

  

Das Ignorieren CSS, denn das wird die geben   semantische Bedeutung, wenn tut Spanne   zusätzlichen semantischen Wert von   Zerkleinern einen Satz oder String   Worte?

Das Ignorieren CSS (und andere Nicht-HTML-Markup), nie. A <span> 's nur Sinn im Leben ist Markup zu tragen, die Sie nicht in HTML ausdrücken können. Markup wie <span style="dropCap">, die keine Entsprechung in HTML haben jedoch im Print-Publishing seit Hunderten von Jahren, und das ist immer angewandt nur ein Zeichen - die ersten Buchstaben eines Artikel (Artikel, was auch immer), ohne was zu einem Wortbruch (oder eine größere Pause).

  

Es scheint, dass in allen Fällen andere   Elemente sind besser geeignet, um die Zugabe   semantischer Wert, Span macht eine rein   Layout-Element. Ist das wahr?

Ja und nein. Der einzige wirkliche Wert von <span> ist, dass es semantisch neutral ist. Das heißt, im Gegensatz zum Beispiel <p>, macht es nichts tun, die Sie haben wollen, es nicht tun, wenn Sie es verwenden andere Markup zu tragen. Und es gibt Zeiten, wie <span style="dropCap"> oben, wenn Sie keine anderen Effekte wollen.

Wenn Sie Formatierungsregeln auf einen Teil der Inhalte angewendet werden soll (zum Beispiel ein einzelnes Wort oder Satz) eines Tags. Sie können den span-Tag verwenden. Es wird manchmal tagless Formatierung genannt.

ich Spannweiten in meinem EBNF verwenden -> XHTML-Wandler ein anderes Format zu Literalen und Token anwenden

.

SPAN (und DIV) Elemente selbst werden im allgemeinen als semantisch neutral betrachtet. Ein guter Ansatz ist, so viele semantisches Markup zu verwenden, wie angemessen möglich, aber manchmal laufen Sie Situationen, in denen die bestehenden HTML-Elemente, die semantische Bedeutung tun liefern (EM, STRONG, abbr, acronym, etc, etc) sind nicht die richtige Passform semantisch für Ihre Inhalte. Der nächste Schritt ist es, einen semantisch neutralen SPAN oder DIV mit einer semantisch sinnvollen ID oder Klasse zu verwenden.

Ich glaube, er zwischen einem div über den Unterschied fragt und eine Spannweite, und es ist wirklich nicht ein, außer dem Standardverhalten.

Es ist eine Frage der Konvention. Wenn Styling verwenden, wird div typischerweise verwendet Abteilungen Inhalt abgrenzen, während span verwendet wird Inline-Text abgrenzen. Sie könnten genauso gut div überall verwenden oder span überall verwenden, aber es ist hilfreich, an sich zu denken, wie anders, auch wenn es nur durch Konvention.

In HTML könnte für Mikroformate verwendet werden. Aber da eigentliche HTML-Spezifikation ist X HTML, gibt es keinen Punkt. Statt:

<P>Hello, my name is <SPAN class="name"> Joe Sixpack </SPAN></P>

Ich würde eher verwenden:

<P>Hello, my name is <FOAF:name> Joe Sixpack </FOAF:name></P>

Die Bedeutung von SPAN ist: „Dies ist eine (allgemein) Spannweite von (beispielsweise Text) Inhalt“. Vergleichen Sie bis zu DIV, was bedeutet, „das ist eine logische Unterteilung (das heißt, ein generisches Dokument Abschnitt)“.

SPAN ist in erster Linie ein Haken zum Aufhängen von Design aus dem (so können Sie <span style='color:blue'> statt <font color='blue'> verwenden).

der spec :

  

Die DIV und SPAN-Elemente, in Verbindung mit den ID und Klassenattributen bieten einen allgemeinen Mechanismus für die Struktur zu Dokumenten hinzufügen. Diese Elemente definieren Inhalt inline (SPAN) oder Blockebene (DIV), aber keine anderen aufzuzwingen Präsentations Idiome über den Inhalt zu sein. So können Autoren diese Elemente in Verbindung mit Stylesheets verwenden, das lang-Attribute usw., HTML, um ihre eigenen Bedürfnisse und Vorlieben anpassen kann.

     

Nehmen wir zum Beispiel, dass wir ein HTML-Dokument auf Basis einer Datenbank von Kundeninformationen erzeugen wollte. Da HTML keine Elemente enthalten, die Objekte wie „Client“, „Telefonnummer“, „E-Mail-Adresse“ usw. identifizieren, verwenden wir DIV und SPAN, um die gewünschten strukturellen und Präsentations-Effekte zu erzielen. Wir könnten das TABLE-Element wie folgt verwenden die Informationen zu strukturieren:

<!-- Example of data from the client database: -->
<!-- Name: Stephane Boyera, Tel: (212) 555-1212, Email: sb@foo.org -->

<DIV id="client-boyera" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Boyera</TR>
<TR><TH>First name:<TD>Stephane</TR>
<TR><TH>Tel:<TD>(212) 555-1212</TR>
<TR><TH>Email:<TD>sb@foo.org</TR>
</TABLE>
</DIV>

<DIV id="client-lafon" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Lafon</TR>
<TR><TH>First name:<TD>Yves</TR>
<TR><TH>Tel:<TD>(617) 555-1212</TR>
<TR><TH>Email:<TD>yves@coucou.com</TR>
</TABLE>
</DIV>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top