Warum wird Element nach VS2008 als veraltet angesehen?

7

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?

    
Agnel Kurian 03.07.2009, 11:18
quelle

9 Antworten

21

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:

%Vor%

Um die Unterstreichung zu entfernen, verwenden Sie text-decoration:none , um die Unterstreichung zu deaktivieren.

    
Joeri Sebrechts 03.07.2009, 11:22
quelle
10

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.

    
Daniel Rikowski 03.07.2009 11:20
quelle
8

Weil laut w3c wurde abgeschrieben. Lesen Sie hier Auch sollte jeder Stil / Formatierung in der Verantwortung von CSS liegen, aber ich bin sicher, VS folgt den w3c Richtlinien.

    
redsquare 03.07.2009 11:21
quelle
4

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.

    
Neil Aitken 03.07.2009 11:21
quelle
1

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.

    
Sam DeFabbia-Kane 04.07.2009 04:07
quelle
0

& 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.

    
nilamo 04.07.2009 04:35
quelle
0

Nicht nur HTML4, <u> gilt in HTML5 auch.

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 .

    
billyswong 04.07.2009 06:41
quelle
0

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 .

    
davidWazy 24.10.2014 06:01
quelle
-5

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 ...!

  • Alle Freuden der Einhaltung von Standards! (Prahlen Rechte.)
  • Keiner der Vorteile. (Dieses CSS wird nicht von einem einzelnen & lt; style & gt;.) Modifiziert.
  • All der Schmerz einer übermäßigen Standardisierung (Warte, welche Formatierungsregel macht das & lt; / span & gt; -Tag wieder rückgängig? Shit.)
  • Mehr Bandbreitenverbrauch! (Der Preis des Fortschritts, sobald jemand mich darüber informiert, wie das alles geholfen hat.)
  • Verminderte Browserunterstützung! (Wissen Sie diejenigen, die noch alte Browser oder minimalistische Browser wie LYNX , Links , w3m , OffByOne verwenden usw.? Äh ... wen interessiert das?)

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: Ссылка

    
Coding With Style 03.07.2009 12:56
quelle

Tags und Links