Übersicht

Dieses Dokument definiert das Schreibformat und die Stilregeln für HTML/CSS. Es zielt darauf ab, die Zusammenarbeit und die Codequalität zu verbessern und die zugrunde liegende Infrastruktur zu unterstützen. Es gilt für HTML/CSS-Dateien, einschließlich GSS-Dateien. Solange die Codequalität wartbar ist, kann sie durch Tools gut verschleiert, komprimiert und zusammengeführt werden.

html

Stilregeln

Protokoll

Protokoll-Header beim Schreiben eingebetteter Ressourcen weglassen

  • Lassen Sie die Protokoll-Header-Deklarationen (http:, https:) in URLs für Bilder, Mediendateien, Stylesheets und Skripte weg. Wenn die URL diese beiden Deklarationen nicht verwendet, lassen Sie sie nicht weg.
  • Das Weglassen der Protokolldeklaration macht URLs relativ, verhindert Probleme durch Inhaltsverwechslungen und vermeidet redundante Downloads kleiner Dateien.
<!-- 不推荐 -->
<script src="http://www.google.com/js/gweb/analytics/autotrack.js"></script>
<!-- 推荐 -->
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
/* 不推荐 */
.example {
  background: url(http://www.google.com/images/example);
}
/* 推荐 */
.example {
  background: url(//www.google.com/images/example);
}

Formatierungsregeln

Einrückung

Jeweils um zwei Leerzeichen einrücken.

Groß-/Kleinschreibung

Nur Kleinbuchstaben verwenden.

Nachgestellte Leerzeichen

Entfernen Sie nachgestellte Leerzeichen.

Metadaten-Regeln

Kodierung

Verwenden Sie UTF-8-Kodierung ohne BOM-Header.

Lassen Sie Ihren Editor im UTF-8-Kodierungsformat ohne Byte-Order-Mark schreiben.

Geben Sie die Kodierung in HTML-Vorlagen und -Dateien mit <meta charset="utf-8"> an. Für Stylesheets muss die Kodierung nicht angegeben werden; sie ist standardmäßig UTF-8.

(Weitere Informationen zur Kodierung und zu ihrer Angabe finden Sie unterZeichensätze & Kodierungen in XHTML, HTML und CSS。)

Kommentare

Erklären Sie den Code, den Sie schreiben, so weit wie möglich.

Verwenden Sie Kommentare, um Code zu erklären: was er enthält, welchen Zweck er hat, was er tun kann, warum diese Lösung verwendet wird oder ob es nur an der Vorliebe liegt?

(Diese Regel ist optional; es ist nicht notwendig, jedes Stück Code in allen Einzelheiten zu beschreiben, da dies den HTML- und CSS-Code aufbläht. Es hängt von der Komplexität des Projekts ab.)

Aktionspunkte

Verwenden Sie TODO, um To-dos und aktive Aktionspunkte zu markieren.

Verwenden Sie nur TODO, um ausstehende Punkte hervorzuheben; verwenden Sie keine anderen gängigen Formate wie @@.

Hängen Sie einen Kontakt (Benutzername oder E-Mail-Liste) in Klammern an, z. B. TODO(contact).

Sie können Beschreibungen von Aktionspunkten nach einem Doppelpunkt anhängen, z. B. TODO: Beschreibung des Aktionspunkts.

{# TODO(cha.jn): 重新置中 #}
<center>Test</center>
<!-- TODO: 删除可选元素 -->
<ul>
  <li>Apples</li>
  <li>Oranges</li>
</ul>

HTML-Stilregeln

Dokumenttyp

Bitte verwenden Sie den HTML5-Standard.

HTML-Code-Gültigkeit

Verwenden Sie nach Möglichkeit gültigen HTML-Code.

Schreiben Sie gültigen HTML-Code; andernfalls sind Leistungsverbesserungen kaum zu erreichen.

Verwenden Sie Tools wie diesenW3C HTML validatorzum Testen.

Die Gültigkeit von HTML-Code ist ein wichtiges Qualitätsmaß und stellt sicher, dass HTML-Code korrekt verwendet werden kann.

<!-- 不推荐 -->
<title>Test</title>
<article>This is only a test.
<!-- 推荐 -->
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test</title>
<article>This is only a test.</article>

Semantik

Verwenden Sie HTML-Elemente entsprechend ihrem Zweck.

Wenn Sie Elemente verwenden (manchmal fälschlicherweise "Tags" genannt), wissen Sie, warum Sie sie verwenden und ob es korrekt ist. Verwenden Sie beispielsweise Überschriftselemente für Überschriften, p-Elemente für Absätze, a-Elemente für Anker usw.

Die Verwendung von HTML-Elementen entsprechend ihrem Zweck ist wichtig; sie betrifft Aspekte wie Dokumentzugänglichkeit, Wiederverwendung und Codeeffizienz.

<!-- 不推荐 -->
<div onclick="goToRecommendations();">All recommendations</div>
<!-- 推荐 -->
<a href="recommendations/index.html">All recommendations</a>

Multimedia-Fallback

Alternativen Inhalt für Multimedia bereitstellen.

Bei Multimedia wie Bildern, Videos und animierten Elementen, die über Canvas geladen werden, ist sicherzustellen, dass alternativer Inhalt bereitgestellt wird. Verwenden Sie aussagekräftigen Alternativtext (alt) für Bilder sowie gültige Transkripte und Untertitel für Video und Audio.

Die Bereitstellung alternativer Inhalte ist wichtig, weil sie blinden Nutzern beschreibenden Text liefert, indem @alt verwendet wird, um ihnen mitzuteilen, worum es auf dem Bild geht, und Nutzern Hinweise gibt, die den Video- oder Audioinhalt möglicherweise nicht verstanden haben.

(Das alt-Attribut eines Bildes kann redundant sein; wenn ein Bild nur zur Dekoration verwendet wird, die nicht unmittelbar mit CSS erreicht werden kann, ist kein Alternativtext erforderlich, und Sie können alt="" schreiben.)

<!-- 不推荐 -->
<img src="spreadsheet.png.html">
<!-- 推荐 -->
<img src="spreadsheet.png.html" alt="电子表格截图">

Trennung von Belangen

Präsentation und Verhalten trennen.

Halten Sie Struktur (Markup), Präsentation (Styles) und Verhalten (Skripte) strikt getrennt und beschränken Sie die Interaktion zwischen den dreien auf ein Minimum.

Stellen Sie sicher, dass Dokumente und Vorlagen nur HTML-Struktur enthalten; verlagern Sie die gesamte Präsentation in Stylesheets und das gesamte Verhalten in Skripte.

Versuchen Sie außerdem, die Kontaktfläche von Skripten und Stylesheets in Dokumenten und Vorlagen zu minimieren, d. h. externe Verlinkungen zu reduzieren.

Es ist sehr wichtig, Präsentation und Verhalten getrennt zu halten, da das Ändern der HTML-Dokumentstruktur und von Vorlagen kostspieliger ist als das Aktualisieren von Stylesheets und Skripten.

<!-- 不推荐 -->
<!DOCTYPE html>
<title>HTML sucks</title>
<link rel="stylesheet" href="base.css.html" media="screen">
<link rel="stylesheet" href="grid.css.html" media="screen">
<link rel="stylesheet" href="print.css.html" media="print">
<h1 style="font-size: 1em;">HTML sucks</h1>
<p>I’ve read about this on a few sites but now I’m sure:
  <u>HTML is stupid!!1</u>
<center>I can’t believe there’s no way to control the styling of
  my website without doing everything all over again!</center>
<!-- 推荐 -->
<!DOCTYPE html>
<title>My first CSS-only redesign</title>
<link rel="stylesheet" href="default.css.html">
<h1>My first CSS-only redesign</h1>
<p>I’ve read about this on a few sites but today I’m actually
  doing it: separating concerns and avoiding anything in the HTML of
  my website that is presentational.
<p>It’s awesome!

Entitätsreferenzen

Verwenden Sie keine Entitätsreferenzen.

Es besteht keine Notwendigkeit, Entitätsreferenzen wie &mdash;, &rdquo; und &#x263a; zu verwenden, vorausgesetzt, dass die vom Team verwendeten Dateien und Editoren dieselbe Kodierung (UTF-8) verwenden.

Zeichen mit besonderer Bedeutung in HTML-Dokumenten (wie z. B. < und & ) sind Ausnahmen. Oh, und außerdem "unsichtbare" Zeichen (wie geschütztes Leerzeichen).

<!-- 不推荐 -->
欧元货币符号是 &ldquo;&eur;&rdquo;。
<!-- 推荐 -->
欧元货币符号是 “€”。

Optionale Tags

Optionale Tags weglassen (optional).

Zur Optimierung von Dateigröße und Validierung können Sie in Betracht ziehen, optionale Tags wegzulassen. Welche Tags optional sind, entnehmen Sie derHTML5 Spezifikation。

(Dieser Ansatz erfordert möglicherweise präzisere Spezifikationen, um etabliert zu werden, und viele Entwickler haben unterschiedliche Meinungen dazu. Aus Gründen der Konsistenz und Kürze ist es notwendig, alle optionalen Tags wegzulassen.)

<!-- 不推荐 -->
<!DOCTYPE html>
<html>
  <head>
    <title>Spending money, spending bytes</title>
  </head>
  <body>
    <p>Sic.</p>
  </body>
</html>
<!-- 推荐 -->
<!DOCTYPE html>
<title>Saving money, saving bytes</title>
<p>Qed.

type-Attribut

In Tags für Stylesheets und Skripte weglassen. type Attribut

Schreiben Sie nichts in Tags für Stylesheets (es sei denn, CSS wird nicht verwendet) und Skripte (es sei denn, JavaScript wird nicht verwendet). type Attributs.

HTML5-Standardwerte type ist text/css und text/javascript type, sodass es nicht angegeben werden muss. Selbst ältere Browser unterstützen es.

<!-- 不推荐 -->
<link rel="stylesheet" href="//www.google.com/css/maia.css"
  type="text/css">
<!-- 推荐 -->
<link rel="stylesheet" href="//www.google.com/css/maia.css">
<!-- 不推荐 -->
<script src="//www.google.com/js/gweb/analytics/autotrack.js"
  type="text/javascript"></script>
<!-- 推荐 -->
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>

HTML-Formatierungsregeln

Jedes Blockelement, Listenelement oder Tabellenelement belegt eine eigene Zeile, und jedes Kindelement wird relativ zu seinem Elternelement eingerückt.

Der Stil unabhängiger Elemente (da CSS es zulässt, dass Elemente eine andere Rolle annehmen, je nach display Eigenschaft), setzen Sie Blockelemente, Listenelemente oder Tabellenelemente in eine neue Zeile.

Zusätzlich sind Kindelemente von Blockelementen, Listenelementen oder Tabellenelementen einzurücken.

(Wenn Probleme mit Whitespace-Textknoten um Listenelemente herum auftreten, versuchen Sie, alle li Elemente in eine Zeile zu setzen.)

<blockquote>
  <p><em>Space</em>, the final frontier.</p>
</blockquote>
<ul>
  <li>Moe
  <li>Larry
  <li>Curly
</ul>
<table>
  <thead>
    <tr>
      <th scope="col">Income
      <th scope="col">Taxes
  <tbody>
    <tr>
      <td>$ 5.00
      <td>$ 4.50
</table>

Verwandte Ressourcen