Warum ist das <nobr> veraltet?
Verstehe ich, dass dieser tag könnte leicht ersetzt werden, mit <span class="nowrap">
und ein bisschen CSS, aber im wirklichen Leben markup oft finde ich, dass <nobr>
tag ist besser geeignet. Es geht nicht um Stil, es geht um Inhalte. <nobr>V. V. Putin</nobr>
zum Beispiel (auf Russisch Typografie Nachname und der Vorname sollte nicht sein, Linie, unterbrochen, ich denke, dass ähnliche Regeln gelten für andere Sprachen).
Ich denke, dass die Missbilligung bedeutet, es ist etwas besser, aber ich sehe nicht, wie styling besser ist als separate Tags. Natürlich gibt es Orte, wo CSS verwendet werden soll. Muss ich da etwas verpasst?
- Mein Verständnis ist, dass HTML-tags sind für die Semantik. Mit einem tag, dass hat ein nowrap-Effekt, wenn wir bereits über CSS zu tun, die nicht wirklich bieten jede semantische profitieren.
- Ihr Beispiel ist die definition von Stil; russische typographische Regeln Regeln des Stils.
- könnten Sie weisen eine Klasse
.nobr { white-space:nowrap; }
- Das Schlimmste dabei ist wahrscheinlich, dass die MDN ist gefüllt mit falschen info auf nobr. Browser unterstützen es in Ordnung, aber in meinem Fall, angulars template-engine wird nicht akzeptieren, der tag. Oh, gut 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht veraltet, weil es war nie standard in den ersten Platz.
HTML ist (in der Theorie) eine semantische markup-Sprache. Es beschreibt die Struktur und Semantik eines Dokuments sowie mit Beziehungen zu anderen Ressourcen.
HTML ist eigentlich nicht zu beschreiben-Präsentation. Eine Reihe von Layout-Funktionen wurden Hinzugefügt, die während der browser-Kriege. Einige von Ihnen wurden standardisiert. Die meisten von Ihnen wurden in der Folge veraltet, wenn CSS kam.
CSS ist eine Sprache zur Beschreibung der Präsentation. Wenn Sie ein Stück text, das nicht sollte ein Zeilenumbruch drin, das ist in der Regel eine Frage der Präsentation, so CSS ist der richtige Ort, es zu tun.
Die Ausnahmen sind in der Regel behandelt durch non-breaking spaces (
).nobr
"nicht veraltet", die WhatWG-und W3-HTML-Spezifikationen sowohl in den "Veraltete Funktionen" (siehe html.spec.whatwg.org/multipage/obsolete.html#nobr) und behaupten, dass es "muss nicht verwendet werden, die von den Autoren". Ich denke, das ist nicht eine "deprecation" im Sinne der Regel von Programmierern (wo eine "deprecated" - Funktion ist eine, die Sie werden offiziell empfohlen, nicht zu verwenden, sondern die ist immer noch garantiert Arbeit), aber ist eine Missbilligung in dem Sinne, in dem dieses Wort verwendet wird, im Klartext und in allen Bereichen, neben der Programmierung.Fühlen Sie sich frei zu verwenden, die veraltet/non-standard
<nobr>
HTML-tag — so lange, wie Sie es definieren in CSS.Es ist praktisch garantiert, dass das element name wird nie eingesetzt werden, die für jede andere Aufgabe, als das ursprüngliche Verhalten, und dieser name ist beschreibend für die Aktion Sie definieren in der CSS, so dass es intuitiv für Menschen, die überprüfung Ihrer HTML.
CSS müssen wie folgt Aussehen:
Können Sie oder können nicht wollen (oder müssen), die
hyphens: none;
Teil, aber ich habe es der Vollständigkeit halber, da es scheint einige Implementierungen von<nobr>
(früher?) auch das unterdrücken der Silbentrennung, währendwhite-space: nowrap;
macht das nicht.Diese definiert die
white-space
alsnowrap
, die unterdrückt Zeilenumbrüche in Leerzeichen und dieBindestrich
alsnone
, die verhindert, dass Bruch in Worten (einschließlich ignorieren Zeichen innerhalb von Wörtern, die "empfehlen-line-break-Punkte").Dummheit. Das ist der einzige Grund.
<nobr>
ist universell, weil es erforderlich ist, zu vermitteln, daß der eingeschlossene Inhalt ist semantisch eine Einheit, so sollte es nicht verteilt über mehrere Zeilen.span
. Wenn Sie nur wollen, dass es nicht gebrochen werden, verwenden
<span>
ist es, eine Möglichkeit zum verweisen auf einen Abschnitt des Textes ohne was bedeutet Semantik, z.B. für die Angabe von style (Präsentation).<span>
und<div>
vermitteln nicht semantische info (obwohl in html5 haben wir<article>
etc. für, die).
ist praktisch, in bestimmten Fällen, aber es ist nicht eine Allgemeine Lösung, aus mehreren Gründen: 1. weil es keine&nbyhphen;
(es ist‑
aber das ist natürlich schrecklich ist); 2. es funktioniert nicht für Benutzer eingegebene text; 3. Es hat unerwünschte Nebenwirkungen, z.B., es subtil verändert, was ist kopiert und eingefügt.span
selbst hat keine semantische Bedeutung, aber wenn Sie sich bewerben, Klassen oder Attribute, um es dann sind Sie die Definition Ihrer Semantik. Wie Sie Ihre Punkte gegen
, Nummer 2 ist nicht erfüllt, können Sie ersetzen Zeichen vor dem drucken), und die Nummer 3 ist falsch (ist es nicht verändern, es das non-breaking space wird tatsächlich kopiert, ist das so richtig). Ich bin mir nicht sicher über die Nummer 1, aber ich nehme Ihr Wort für es.Fand ich diese interessante und sehr erklären, kommentieren w3c-mailing-Liste:
Yep. So war es noch nie und wird nie Teil der spec. Nur etwas 'fehlt' Hinzugefügt mit CSS.
Den richtigen Weg, um zu erreichen, was Sie wollen, ist zu erklären, dass "V. V. Putin" ist ein Eigenname, und definieren in CSS, die wie ein Eigenname sollte nicht die Linie unterbrochen.
und in CSS definieren Sie
Seit... HTML geht nicht um Stil, es ist über Inhalte. Im Grunde ist das die gleiche wie das, was der OP vorgeschlagen, aber das nowrap in class="nowrap" beschreibt eine Präsentations-Eigenschaft in html-das sollte in der stylesheet.
Das ist, weil eine ordnungsgemäße tag sollte semantisch nützlich, wenn
<nobr>
keine Semantik, abgesehen von seinem Stil. Ich denke, das ist der gleiche Grund, warum<center>
und ähnliche styling-tags waren veraltet.