Warum erhalte ich in Visual Studio die folgende Meldung, wenn ich die & lt; u & gt; Element?
"Element 'u' gilt als veraltet. A neuere Konstruktion wird empfohlen "
Hat es gealtert?
Das Unterstreichungs-Tag wurde ab HTML4 veraltet. Die W3C-Referenz finden Sie hier . Der Grund dafür ist, dass visuelles Styling nicht in Tags gehört, sondern in Stylesheets verschoben werden sollte.
Sie können stattdessen den Stil text-decoration: underline
verwenden:
Um die Unterstreichung zu entfernen, verwenden Sie text-decoration:none
, um die Unterstreichung zu deaktivieren.
Weil das W3C beschlossen hat, es abzulehnen.
Weil alle Layouts und Designs mit CSS erstellt werden sollten. In HTML sollte im Idealfall nur Struktur existieren.
<u>
fügt dem Text nur eine bestimmte Schriftart hinzu, aber keine strukturellen Informationen.
Das Tag wird zusammen mit anderen Textformatierungs- / Stilelementen nicht weiter unterstützt.
Die eigentliche Aufgabe ist es, korrektes Markup zu verwenden und Styling mit Stylesheets anzuwenden.
Wie andere schon gesagt haben, & lt; u & gt; (und ähnliche Elemente) wurden in den neuesten Versionen von Webstandards wegen der allgemeinen Überzeugung, dass Stil und Markup getrennt werden sollten, nicht mehr empfohlen.
Und wie andere bereits gesagt haben, können Sie Ihren HTML-Code mit einem Bereich mit Inline-Stil anpassen. Wirklich, das ist nicht besser. Ist es gültig? Ja. Aber es kauft dir nichts anderes als einfach & lt; u & gt; Tags an erster Stelle.
Die beste semantische Lösung hängt vom Kontext ab. Warum versuchen Sie, eine Unterstreichung in Text einzufügen? Ich kann mir drei Anwendungsfälle vorstellen: Überschriften, Links und Textschwerpunkte. In jedem Fall sollten Sie CSS aus einem Stylesheet auf das entsprechende semantische Element anwenden: & lt; h1-6 & gt; für Überschriften & lt; a & gt; für Links und & lt; em & gt; für hervorgehobenen Text. Wenn Sie Variationen von jedem benötigen, wenden Sie bei Bedarf CSS-Klassen und IDs an.
& lt; u & gt; ist Teil einer Familie von Elementen, die veraltet waren. & lt; b & gt; und & lt; i & gt; wurden ersetzt durch & lt; stark & gt; und & lt; em & gt;, während für die Wirkung css verwendet werden muss.
Die Argumentation ist, dass HTML nicht entscheiden sollte, ob etwas unterstrichen oder fett gedruckt ist, dass diese Art von Information Teil des Stils sein soll und somit ein perfekter Kandidat für ein Stylesheet ist.
Nicht nur HTML4, <u>
gilt in HTML5
Interessanterweise werden <b>
und <i>
als konform gehalten. Sie können versuchen, in ihrer Mailing-Liste zu argumentieren, oder verwenden Sie einfach das Tag wie Sie möchten. Browser werden seine Unterstützung nicht herausziehen und Ihnen geht es gut.
Ich erinnere mich, dass der Grund hinter der Entscheidung, <u>
out zu ziehen, darin besteht, dass es keine einheitliche semantische Bedeutung oder etwas ähnliches gibt. Zumindest wenn Sie fettgedruckten Text sehen, wissen Sie, dass Sie es lesen sollten lauter .
there kann sein, was bedeutet, dass die CSS-Referenz über das "u" -Tag in geringem Maße verloren geht.
Ein kleines, aber ärgerliches Ergebnis ist die ACCESS-Taste zur Eingabe von Steuerelementen.
%Vor%ODER
%Vor%Die erste Methode, bei der ein Tag verwendet wird, weist auf eine Bedeutung hin, die ein zufälliger, vom Benutzer zugewiesener Klassenname nicht hat. TAGS sind fest - Klassenname ist beliebig.
Was Standards betrifft, ist es eine Unterscheidung ohne Unterschied. Die Entscheidung ist willkürlich, subjektiv und launisch, überliefert von den vermeintlichen Experten und Puristen .
Die Formatierung mit HTML anstelle von CSS gilt heute als veraltet. Wenn Sie jemals Probleme mit der Einhaltung von Standards haben, die Ihre Inline-Formatierung ablehnen, befolgen Sie die folgenden einfachen Such- und Ersetzungsregeln:
& lt; b & gt; & lt; / b & gt; Ersetzen durch & lt; span style = font-weight: fett & gt; & lt; / span & gt;
& lt; u & gt; & lt; / u & gt; Ersetzen durch & lt; span style = text-dekoration: unterstreichen & gt; & lt; / span & gt;
& lt; i & gt; & lt; / i & gt; Ersetzen Sie durch & lt; span style = text-font-style: kursiv & gt; & lt; / span & gt; & lt; font face = font, otherfont size = number & gt; & lt; / font & gt; Durch & lt; span style = font-family ersetzen: font, otherfont; font-size: replace-with-keyword & gt; & lt; / span & gt;
& lt; s & gt; & lt; / s & gt; aka & lt; strike & gt; & lt; / strike & gt; Ersetzen durch & lt; span style = text-dekoration: line- durch & gt; & lt; / span & gt;
Schlüsselwörter für Schriftgröße: xx-klein, x-klein, klein, mittel, groß, x-groß, xx-groß Ungefähr dasselbe.
Wenn Sie diese einfachen Auswechslungen einfach durchgehen, werden Sie erleben ...!
Oh ja ...
Addendum : Ernsthafter, weil heutzutage viele Standard-Puristen nur ein reines CSS haben. Der Großteil der Unterstützung hinter CSS, das reguläres Markup vermeidet, erzeugt einfach, dass es modern ist, also sollten Sie mit der Zeit kommen. Andere Unterstützung kommt von der Vorstellung, dass CSS inhärent wartungsfreundlicher ist und komplett auf nicht wartbare Fehler wie das, was ich oben vorgeschlagen habe, verzichtet.
Ich habe nichts gegen CSS. Der Punkt hier ist, dass viele Leute den Standard übermäßig predigen und ihn auch dann dulden, wenn er in völlig unpassender Weise benutzt wird. Die Idee, reguläre HTML-Tags durch inline-formatierte CSS zu ersetzen, wie ich bereits erwähnt habe, wird wirklich als Fortschritt angesehen, der viel zu viele CSS-Befürworter betrifft. Sie scheinen zu sehen, dass der Standard, das Muster, die Designregel als eine Art von inhärentem Gut angesehen werden, anstatt sie rational zu betrachten. Inline-Formatierung hat ihren Platz, und ich denke, die Verwendung von regulären HTML-Tags für sie ist passend und viel besser lesbar.
Diese Anhänger sind wie die Leute, die dir sagen, dass Gotos böse sind und du solltest sie nie benutzen. Diejenigen, die einen regulären stack-esque Wind sehen und sich entspannen und stattdessen eine eingerückte if-Anweisung clusterfuck verwenden, gehen zehn Schichten von Einrückung und wiederholen Code tief. Und sie werden ihre Version tatsächlich als lesbarer und wartbarer ansehen, obwohl dies bei jedem vernünftigen Standard eindeutig nicht der Fall ist. Für mehr über diese Tangente: Ссылка
Tags und Links html visual-studio-2008