Dieser Artikel stellt die von Google empfohlenen HTML- und CSS-Formatierungskonventionen vor, um gute persönliche Programmiergewohnheiten zu etablieren.
Allgemeine Stilregeln
Lassen Sie den Protokollteil von URLs für Bilder, Styles, Skripte und andere Mediendateien weg (http:,https:), es sei denn, die Datei ist nicht über beide Protokolle verfügbar. Dieses Schema wird als protokollrelative URL bezeichnet. Der Vorteil ist, dass der Browser die Seitenressourcen mit demselben Protokoll anfordert, unabhängig davon, ob Sie über HTTPS oder HTTP auf die Seite zugreifen, und es können auch einige Bytes eingespart werden.
<!-- 不推荐 --> <script src="https://www.google.com/js/gweb/analytics/autotrack.js"></script>
<!-- 推荐 --> <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
/* 不推荐 */
.example {
background: url("https://www.google.com/images/example");
}
/* 推荐 */
.example {
background: url("//www.google.com/images/example");
}
Allgemeine Formatierungsregeln
Einrückung
Rücken Sie jeweils um 2 Leerzeichen ein. Verwenden Sie keine Tabs und mischen Sie Tabs und Leerzeichen nicht bei der Einrückung.
<ul> <li>Fantastic <li>Great </ul>
.example {
color: blue;
}
Groß-/Kleinschreibung
Verwenden Sie nur Kleinbuchstaben für Folgendes: HTML-Elementnamen, Attribute, Attributwerte (außer Text/CDATA), CSS-Selektoren, Eigenschaften und Eigenschaftswerte.
<!-- 不推荐 --> <A HREF="/">Home</A>
<!-- 推荐 --> <img src="google.png.html" alt="Google">
/* 不推荐 */ color: #E5E5E5;
/* 推荐 */ color: #E5E5E5;
Nachgestellte Leerzeichen
<!-- 不推荐 --> <p>What?_
<!-- 推荐 --> <p>Yes please.
Allgemeine Meta-Regeln
Kodierung
Geben Sie die Kodierung in HTML über <meta charset="utf-8"> an. In CSS muss sie nicht angegeben werden, da UTF-8 die Standardeinstellung ist.
Kommentare
Verwenden Sie Kommentare, um Code zu erklären: die enthaltenen Module, seine Funktionalität und seine Vorteile.
Aufgabenpunkte
Verwende TODO, um To-do-Einträge zu markieren, anstatt anderer Markierungen wie @@.
<!-- TODO: remove optional tags --> <ul> <li>Apples</li> <li>Oranges</li> </ul>
HTML-Stilregeln
Dokumenttyp
HTML-Dokumente sollten den HTML5-Dokumenttyp verwenden: <!DOCTYPE html>.
Leere Elemente müssen nicht selbst geschlossen werden,<br>Nicht schreiben<br />。
HTML-Gültigkeit
Verwende nach Möglichkeit gültiges HTML.
<!-- 不推荐 --> <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
<!-- 不推荐 --> <div onclick="goToRecommendations();">All recommendations</div>
<!-- 推荐 --> <a href="recommendations/index.html">All recommendations</a>
Multimedia-Fallback
Stelle bei Multimedia-Elementen wie Bildern, Videos und Canvas-Animationen sicher, dass anderer barrierefreier Inhalt bereitgestellt wird. Bilder können alternativen Text (alt) verwenden, und Videos und Audio können Textversionen verwenden.
<!-- 不推荐 --> <img src="spreadsheet.png.html">
<!-- 推荐 --> <img src="spreadsheet.png.html" alt="Spreadsheet screenshot.">
Trennung von Belangen
Trenne Markup, Stil und Skript und sorge für minimale Kopplung zwischen ihnen.
Entitätsreferenzen
Wenn die Dateien und Editoren des Teams dieselbe Kodierung verwenden, müssen keine Entitätsreferenzen verwendet werden, wie z. B.—, ”,☺, außer bei einigen Zeichen, die in HTML eine besondere Bedeutung haben (wie < und &) und unsichtbaren Zeichen (wie Leerzeichen).
<!-- 不推荐 --> The currency symbol for the Euro is “&eur;”.
<!-- 推荐 --> The currency symbol for the Euro is “€”.
type-Attribut
Geben Sie das type-Attribut nicht an, wenn Sie auf Stylesheets und Skripte verweisen, es sei denn, es handelt sich nicht um CSS oder JavaScript.
Weil in HTML5 der Standardtyp für Styles text/css ist und für Skripte text/javascript.
<!-- 不推荐 --> <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
HTML-Anführungszeichen
Verwenden Sie doppelte Anführungszeichen für Attributwerte.
<!-- 不推荐 --> <a class='maia-button maia-button-secondary'>Sign in</a>
<!-- 推荐 --> <a class="maia-button maia-button-secondary">Sign in</a>
CSS-Stilregeln
ID- und Klassenbenennung
Verwenden Sie aussagekräftige id- und class-Namen.
/* 不推荐: 含义不明确 */
#yee-1901 {}
/* 不推荐: 按直觉来的 */
.button-green {}
.clear {}
/* 推荐: 指定含义 */
#gallery {}
#login {}
.video {}
/* 推荐: 通用 */
.aux {}
.alt {}
Stil der ID- und Klassenbenennung
id und class sollten so kurz wie möglich sein und trotzdem leicht verständlich bleiben.
/* 不推荐 */
#navigation {}
.atr {}
/* 推荐 */
#nav {}
.author {}
Selektoren
Stellen Sie einem id oder class keinen Elementnamen voran, es sei denn, es ist notwendig.
/* 不推荐 */
ul#example {}
div.error {}
/* 推荐 */
#example {}
.error {}
Eigenschafts-Kurzschreibweise
Verwenden Sie in CSS wo immer möglich Kurzschreibweisen für Eigenschaften (wie font), was die Codierungseffizienz und die Lesbarkeit des Codes verbessert.
/* 不推荐 */ border-top-style: none; font-family: palatino, georgia, serif; font-size: 100%; line-height: 1.6; padding-bottom: 2em; padding-left: 1em; padding-right: 1em; padding-top: 0;
/* 推荐 */ border-top: 0; font: 100%/1.6 palatino, georgia, serif; padding: 0 1em 2em;
0 und Einheiten
Fügen Sie keine Einheit hinzu, wenn der Wert 0 ist.
margin: 0; padding: 0;
Führende 0
Wenn der Wert zwischen -1 und 1 liegt, ist eine führende 0 nicht erforderlich.
font-size: .8em;
Hexadezimalnotation
/* 不推荐 */ color: #EEBBCC;
/* 推荐 */ color: #ebc;
Präfixe
Die Verwendung von präfixierten Namensräumen kann Namenskonflikte verhindern und die Wartbarkeit des Codes verbessern.
.adw-help {} /* AdWords */
#maia-note {} /* Maia */
Trennzeichen bei ID- und Klassennamen
Die Verwendung von Bindestrichen in Selektoren verbessert die Lesbarkeit.
/* 不推荐: “demo” 和 “image” 之间没有分隔符 */
.demoimage {}
/* 不推荐: 使用下划线 */
.error_status {}
/* 推荐 */
#video-id {}
.ads-sample {}
CSS-Formatierungsregeln
Deklarationsreihenfolge
Das Schreiben von CSS in alphabetischer Reihenfolge der Eigenschaftsnamen ist leicht zu lesen und zu pflegen. Ignorieren Sie Eigenschaften mit Browser-Präfixen beim Sortieren.
background: fuchsia; border: 1px solid; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; color: black; text-align: center; text-indent: 2em;
Einrückung von Blockinhalten
Um die Hierarchie widerzuspiegeln und die Lesbarkeit zu verbessern, sollte der gesamte Blockinhalt eingerückt werden.
@media screen, projection {
html {
background: #fff;
color: #444;
}
}
Deklarationsabschlüsse
Jede CSS-Zeile sollte mit einem Semikolon enden.
/* 不推荐 */
.test {
display: block;
height: 100px
}
/* 推荐 */
.test {
display: block;
height: 100px;
}
Leerzeichen nach Eigenschaftsnamen
Zwischen dem Eigenschaftsnamen und dem Wert sollte ein Leerzeichen stehen.
/* 不推荐 */
h3 {
font-weight:bold;
}
/* 推荐 */
h3 {
font-weight: bold;
}
Trennung von Deklarationsblöcken
Verwenden Sie ein Leerzeichen zwischen dem Selektor und {}.
/* Not recommended: missing space */
#video{
margin-top: 1em;
}
/* Not recommended: unnecessary line break */
#video
{
margin-top: 1em;
}
/* 推荐 */
#video {
margin-top: 1em;
}
Trennung von Selektor und Deklaration
Jeder Selektor beginnt in einer neuen Zeile.
/* 不推荐 */
a:focus, a:active {
position: relative; top: 1px;
}
/* 推荐 */
h1,
h2,
h3 {
font-weight: normal;
line-height: 1.2;
}Trennung von Regeln
Trennen Sie Regeln durch Leerzeilen.
html {
background: #fff;
}
body {
margin: auto;
width: 50%;
}CSS-Anführungszeichen
Verwenden Sie einfache Anführungszeichen für Attributselektoren und Eigenschaftswerte. URI-Werte benötigen keine Anführungszeichen.
/* 不推荐 */
@import url("//www.google.com/css/maia.css");
html {
font-family: "open sans", arial, sans-serif;
}
/* 推荐 */
@import url(//www.google.com/css/maia.css);
html {
font-family: 'open sans', arial, sans-serif;
}CSS-Metaregeln
Abschnittskommentare
Verwenden Sie Kommentare, um CSS in Abschnitte zu unterteilen.
/* Header */
#adw-header {}
/* Footer */
#adw-footer {}
/* Gallery */
.adw-gallery {}
Original-URL: https://google.github.io/styleguide/htmlcssguide.xml