Gibt es etwas falsch mit Teilen einer Webseite in XHTML mit einem HTML-Doctype zu schreiben?

StackOverflow https://stackoverflow.com/questions/1040969

  •  22-07-2019
  •  | 
  •  

Frage

Ich habe gerade vor kurzem begonnen, HTML / CSS lernen, und ich habe versucht, mir sound practices Web-Programmierung zu lehren. Ich bin vertraut mit XML, so Web-Seiten in XHTML-Codierung wurde, intuitiv genug und es schien, wie ein Sound, was zu tun. Aber ich habe Artikel wie dieses und jetzt bin ich ambivalent.

Meine Bedenken mit Codierung im HTML- und XHTML-Stamm aus dem folgenden:

  1. img-Tags müssen nicht in HTML geschlossen werden, und das macht Sinn für mich. Aber in XHTML, img-Tags erfordern einen engen Tag, die Art von funky scheint. Ich denke nur, es ist seltsam ein Paar öffnen und schließen Tags mit nichts zu haben dazwischen.
  2. p-Tags (wie in Absatz) müssen nicht in HTML geschlossen werden, und das ist flippig für mich. Es macht Sinn, Abschnitt aus einem Absatz zwischen Öffnen und Schließen-Tags, wie Sie es in XHTML.

Dies sind die einzigen Grund Beispiele, die ich mit im Moment kommen können, aber ich hoffe, dass sie zumindest zeigen, wie Split Ich bin zwischen HTML und XHTML. Also hier ist meine eigentliche Frage: Ist es in Ordnung, in XHTML-Code zu werfen (wenn ich das Gefühl, dass es in geeigneter Weise etwas verdeutlicht), wenn ich eine Webseite Codierung auf, die in HTML sein sollten (mit einer HTML-DTD)? Ich bin sicher, dass die Website gleich aussehen würde, aber wenn die Leute auf meine Quelle suchen, würden sie denken, dass ich ein schrecklich unprofessionell Coder waren?

Außerdem habe ich auf der Suche Sound Web-Programmierung Praktiken durch Tutorials und Anleitungen über Google Art von blind, und ich frage mich, wenn Sie Leute irgendwelche Tipps / Ressourcen hatte mit mir zu teilen. Ich mag wirklich sicherstellen, dass ich lerne, wie dies die richtige Art und Weise zu tun. Ich würde es wirklich schätzen.

Vielen Dank für das Lesen!

Edit: Wow, so schnell Antworten; Ihr seid fantastisch! So verstehe ich, dass Web-Browser ziemlich nachsichtig sein werden, wenn es um diese Art von Sachen kommt. Mein Problem ist dann eine Frage der Eitelkeit und wie andere Fachleute fühlen eine Art Mischung aus XHTML und HTML zu schreiben. Ist streng konformer Code der Weg zu gehen? Ich ehrlich gesagt einfach nicht will, wie ein Idiot aussehen, haha.

War es hilfreich?

Lösung

  

img-Tags müssen nicht in HTML geschlossen werden,   und das macht Sinn für mich.

Nein Tag muss geschlossen werden. Alle Elemente müssen geschlossen werden.

Die meisten Elemente bestehen aus einem Start-Tag, einige Inhalte und ein End-Tag.

Da ein Bildelement nicht Inhalt haben kann, wird der End-Tag nicht benötigt. In HTML-Elemente, die nicht Inhalt haben ( "LEER Elemente") haben das End-Tags verboten.

  

Aber in XHTML, img-Tags erfordern einen engen Tag, die Art von funky scheint.

XHTML ist eine XML-Anwendung und nicht als SGML-Anwendung und XML verfügt nicht über alle Funktionen, die SGML tut -. Einschließlich der Fähigkeit, zu spezifizieren, dass ein End-Tag verboten

  

Ich denke nur, es ist seltsam ein Paar öffnen und schließen Tags mit nichts zu haben dazwischen.

XML stellt eine neue Art von Tag -. Ein selbstschließenden Tag (<foo />), die kombiniert als Start- und End-Tag wirkt

Wenn Sie schreiben, HTML-kompatible XHTML (die Sie sein sollten, wenn Sie wählen, XHTML verwenden und wollen Browser unterstützen, die diese Sprache nicht unterstützen - wie zB Internet Explorer), dann sollte , dass die Syntax verwenden. (Ich ziehe es zu halten, mich zu HTML)

  

p-Tags (wie in Absatz) müssen nicht in HTML geschlossen werden, und das ist flippig für mich.

Viele Elemente in HTML haben optional End-Tags. Dies ermöglicht es den End-Tag weggelassen werden, wenn es angedeutet werden kann.

Zum Beispiel:

<p>Hello, world
<p>A second paragraph

Da ein p-Element kein weiteres p-Element enthalten kann, können Sie implizieren (mit 100% Zuverlässigkeit), die einen neuen Absatz beginnen die vorherige schließen.

Das heißt, sie sind optional , nicht verboten. Sie können für jedes Element HTML 4.01 mit expliziten End-Tags schreiben, die nicht an sich leer.

  

Ist es in Ordnung in XHTML-Code zu werfen   (Wenn ich das Gefühl, dass es angemessen   stellt klar, etwas), wenn ich bin Codierung   up eine Webseite sollen, die in HTML sein   (Mit einer HTML-DTD)? Ich bin sicher, dass die   Website würde gleich aussehen, aber wenn   Menschen waren an meiner Quelle zu suchen,   würden sie denken, ich war schrecklich   unprofessionell Coder?

Es würde aussehen unprofessionell.

Das heißt, es gibt nur drei Mal, wenn XHTML-Syntax konform ist nicht HTML-Syntax:

Leeren Elemente - wie <img> und <br> müssen explizit in XHTML geschlossen sein ... aber Sie sagten, Sie haben nicht wie die Syntax

.

Scripts und Stile - Sie brauchen Zeichenreferenzen oder CDATA Marker verwenden, wenn Sie in Ihrer Embedded JS und CSS in XHTML bestimmte Zeichen verwenden, aber diese Elemente sind als CDATA in der DTD für HTML markiert, so wäre dies falsch da sein ... aber Sie sollten nicht eingebettete Skripte oder Stile sowieso verwenden.

Namespaces -. Aber es gibt keine Zeit, wenn in der Mitte eines HTML-Dokument eines XML-Namespace verwenden würde nahe kommen, etwas zu klären

Andere Tipps

HTML 5 ermöglicht die Verwendung von XHTML-Syntax.

Du kannst einen HTML-5 Doctype jetzt mit denen alle Browsern in Standardmodus drücken, aber darüber im Klaren sein, dass die neuen Funktionen von HTML 5 sind nur in einigen Browsern unterstützt wird.

Von der Web Hypertext Application Technology Working Group :

  

Soll ich in der Nähe leere Elemente mit /> oder>?

     

Void Elemente in HTML (zum Beispiel der br, img und Eingabeelemente) benötigen keinen Schrägstrich. z.B. Statt <br /> zu schreiben, müssen Sie nur <br> schreiben. Dies ist das gleiche wie in HTML 4.01. Jedoch aufgrund der weit verbreiteten Versuche XHTML 1.0 zu verwenden, gibt es eine beträchtliche Anzahl von Seiten des Schrägstrich verwenden. Aus diesem Grund hat sich die Schrägstrich-Syntax auf Leere Elemente in HTML, um zu erleichtern die Migration von XHTML 1.0 HTML5 erlaubt worden ist.

Das wunderbar einfache HTML 5 Doctype sieht wie folgt aus:

<!DOCTYPE html>

Also ja, können Sie standardkonformes HTML mit selbstschließenden Tags schreiben, und es wird validieren gegen einen HTML 5 Validator . Die Industrie hat HTML5 über XHTML2, weit gewählt zu übernehmen und damit würde ich nicht empfehlen XHTML für neue Projekte verwendet wird.


Edit: Gerade als ein Punkt der Klarstellung, ist es sicher, die HTML 5 Doctype jetzt zu verwenden, und es ist auch sicher, dass HTML 5 zu übernehmen wird weit über XHTML 2 gegeben Unterstützung der Industrie übernommen werden. Sie können nun Autor HTML 5 Dokumente sicher, aber viele der Funktionen von HTML5, wie <canvas> (insbesondere Unterstützung von MS gegeben fehlt, dass es konkurriert mit Silverlight) haben keine Cross-Browser-Unterstützung und können Änderungen unterliegen.

Es ist ‚okay‘ in dem Sinne, dass fast jeden Browser es richtig machen, aber nur, weil sie gebaut sind ungültig HTML / XHTML / XML zu behandeln / was auch immer. Jedoch kann jedes Element (e) nicht erklärte Doctype passend (in Ihrem Fall des HTML-DTD) wird verhindert, dass der Code von der Validierung und es ist technisch fehlerhaft.

Auf der anderen Seite, die überwiegende Mehrheit der Websites (auch diejenigen, die richtig machen) nicht überprüft, so dass es nicht ein riesiges Problem. Ich würde halten Sie sich an (streng) XHTML; note jimr Kommentar über selbstschließenden Tags (z <img src="foo" />).

Nein, es ist nicht in Ordnung. Theoretisch zumindest. Wenn Sie XHTML-Syntax in einem HTML-Dokument zu schreiben, ist es ungültig. Browser wird höchstwahrscheinlich es genauso machen, aber es ist immer noch ungültig. Plus, das einzige, was gültig in XHTML und ungültig in HTML ist ein selbstschließenden Tag (<br />). Nur beacuse in HTML sind Sie nicht schließen Tags erforderlich, bedeutet nicht, Sie sie nicht schließen können. Sie können Markup wie folgen schreiben:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo. Quisque posuere nisl ac libero dictum posuere. Suspendisse in magna neque. Donec et vestibulum sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at nulla dui.</p>

<img src="" alt="">

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo.</p>

Sehen Sie? Es ist gültig HTML, und sieht gut aus.

BTW:. diese lesen

<DOCTYPE> ist ein Leave-in von SGML und sollte nur einmal erscheinen, am oberen Rand des Dokuments. Hinzufügen weiterer DOCTYPE Erklärungen im Dokument wäre eine Verletzung von HTML und XHTML -. Obwohl die meisten Browser würden Sie wahrscheinlich vergeben

Wenn Sie beide auf einer Seite verwenden müssen, vielleicht das verschachtelte Dokument in einem IFRAME Platzierung wäre im Einklang mit Standards seit IFRAMEs definitions Haus ein separates Fenster / Dokument Kontext.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top