Cet article présente les conventions de formatage HTML et CSS recommandées par Google afin d'établir de bonnes habitudes personnelles de codage.
Règles générales de style
Omettez la partie protocole des URL pour les images, les styles, les scripts et les autres fichiers multimédias (http:,https:), sauf si le fichier n'est pas disponible avec les deux protocoles. Ce schéma est appelé URL relative au protocole. L'avantage est que, que vous accédiez à la page en HTTPS ou HTTP, le navigateur demandera les ressources de la page en utilisant le même protocole, et cela peut aussi économiser quelques octets.
<!-- 不推荐 --> <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");
}
Règles générales de mise en forme
Indentation
Indentez de 2 espaces à la fois. N'utilisez pas de tabulations et ne mélangez pas tabulations et espaces pour l'indentation.
<ul> <li>Fantastic <li>Great </ul>
.example {
color: blue;
}
Capitalisation
Utilisez uniquement des minuscules pour les éléments suivants : noms d'éléments HTML, attributs, valeurs d'attributs (sauf texte/CDATA), sélecteurs CSS, propriétés et valeurs de propriétés.
<!-- 不推荐 --> <A HREF="/">Home</A>
<!-- 推荐 --> <img src="google.png.html" alt="Google">
/* 不推荐 */ color: #E5E5E5;
/* 推荐 */ color: #E5E5E5;
Espaces blancs en fin de ligne
<!-- 不推荐 --> <p>What?_
<!-- 推荐 --> <p>Yes please.
Règles générales sur les métadonnées
Encodage
Spécifiez l'encodage en HTML via <meta charset="utf-8">. Il n'est pas nécessaire de le spécifier en CSS, car UTF-8 est la valeur par défaut.
Commentaires
Utilisez des commentaires pour expliquer le code : les modules qu'il contient, sa fonctionnalité et ses avantages.
Éléments de tâche
Utilisez TODO pour marquer les tâches à faire, plutôt que d'autres marqueurs comme @@.
<!-- TODO: remove optional tags --> <ul> <li>Apples</li> <li>Oranges</li> </ul>
Règles de style HTML
Type de document
Les documents HTML doivent utiliser le type de document HTML5 : <!DOCTYPE html>.
Les éléments vides n'ont pas besoin de se fermer eux-mêmes,<br>N'écrivez pas<br />。
Validité HTML
Utilisez du HTML valide autant que possible.
<!-- 不推荐 --> <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>
Sémantique
<!-- 不推荐 --> <div onclick="goToRecommendations();">All recommendations</div>
<!-- 推荐 --> <a href="recommendations/index.html">All recommendations</a>
Solution de repli multimédia
Pour les éléments multimédias tels que les images, les vidéos et les animations canvas, assurez-vous que d'autres contenus accessibles sont fournis. Les images peuvent utiliser un texte alternatif (alt), et les vidéos et l'audio peuvent utiliser des versions textuelles.
<!-- 不推荐 --> <img src="spreadsheet.png.html">
<!-- 推荐 --> <img src="spreadsheet.png.html" alt="Spreadsheet screenshot.">
Séparation des préoccupations
Séparez le balisage, le style et le script, en garantissant un couplage minimal entre eux.
Références d'entités
Si les fichiers et les éditeurs de l'équipe utilisent le même encodage, il n'est pas nécessaire d'utiliser des références d'entité, telles que—, ”,☺, sauf pour certains caractères ayant une signification spéciale en HTML (comme < et &) et des caractères invisibles (comme les espaces).
<!-- 不推荐 --> The currency symbol for the Euro is “&eur;”.
<!-- 推荐 --> The currency symbol for the Euro is “€”.
Attribut type
Ne précisez pas l'attribut type lorsque vous faites référence à des feuilles de style et des scripts, sauf s'il ne s'agit pas de CSS ou de JavaScript.
Car dans HTML5, le type par défaut pour les styles est text/css, et pour les scripts, c'est 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>
Règles de formatage HTML
Guillemets HTML
Utilisez des guillemets doubles pour les valeurs d'attributs.
<!-- 不推荐 --> <a class='maia-button maia-button-secondary'>Sign in</a>
<!-- 推荐 --> <a class="maia-button maia-button-secondary">Sign in</a>
Règles de style CSS
Nommage des ID et des classes
Utilisez des noms significatifs pour les id et les class.
/* 不推荐: 含义不明确 */
#yee-1901 {}
/* 不推荐: 按直觉来的 */
.button-green {}
.clear {}
/* 推荐: 指定含义 */
#gallery {}
#login {}
.video {}
/* 推荐: 通用 */
.aux {}
.alt {}
Style de nommage des ID et des classes
Les id et class doivent être aussi courts que possible tout en restant faciles à comprendre.
/* 不推荐 */
#navigation {}
.atr {}
/* 推荐 */
#nav {}
.author {}
Sélecteurs
Ne faites pas précéder un id ou une class par un nom d'élément, sauf si nécessaire.
/* 不推荐 */
ul#example {}
div.error {}
/* 推荐 */
#example {}
.error {}
Notation abrégée des propriétés
Utilisez des propriétés raccourcies dans la mesure du possible en CSS (comme font), ce qui améliore l'efficacité de codage et la lisibilité du code.
/* 不推荐 */ 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 et unités
N'ajoutez pas d'unité lorsque la valeur est 0.
margin: 0; padding: 0;
0 initial
Lorsque la valeur est comprise entre -1 et 1, un 0 initial n'est pas nécessaire.
font-size: .8em;
Notation hexadécimale
/* 不推荐 */ color: #EEBBCC;
/* 推荐 */ color: #ebc;
Préfixes
L'utilisation d'espaces de noms préfixés peut éviter les conflits de nommage et améliorer la maintenabilité du code.
.adw-help {} /* AdWords */
#maia-note {} /* Maia */
Séparateurs d'ID et de nom de classe
L'utilisation de traits d'union dans les sélecteurs améliore la lisibilité.
/* 不推荐: “demo” 和 “image” 之间没有分隔符 */
.demoimage {}
/* 不推荐: 使用下划线 */
.error_status {}
/* 推荐 */
#video-id {}
.ads-sample {}
Règles de formatage CSS
Ordre des déclarations
Écrire le CSS dans l'ordre alphabétique des noms de propriétés facilite la lecture et la maintenance. Ignorez les propriétés avec des préfixes de navigateur lors du tri.
background: fuchsia; border: 1px solid; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; color: black; text-align: center; text-indent: 2em;
Indentation du contenu de bloc
Pour refléter la hiérarchie et améliorer la lisibilité, tout le contenu de bloc doit être indenté.
@media screen, projection {
html {
background: #fff;
color: #444;
}
}
Fins de déclaration
Chaque ligne de CSS doit se terminer par un point-virgule.
/* 不推荐 */
.test {
display: block;
height: 100px
}
/* 推荐 */
.test {
display: block;
height: 100px;
}
Deux-points après le nom de propriété
Il doit y avoir un espace entre le nom de la propriété et la valeur.
/* 不推荐 */
h3 {
font-weight:bold;
}
/* 推荐 */
h3 {
font-weight: bold;
}
Séparation des blocs de déclaration
Utilisez un espace entre le sélecteur et {}.
/* Not recommended: missing space */
#video{
margin-top: 1em;
}
/* Not recommended: unnecessary line break */
#video
{
margin-top: 1em;
}
/* 推荐 */
#video {
margin-top: 1em;
}
Séparation du sélecteur et de la déclaration
Chaque sélecteur commence sur une nouvelle ligne.
/* 不推荐 */
a:focus, a:active {
position: relative; top: 1px;
}
/* 推荐 */
h1,
h2,
h3 {
font-weight: normal;
line-height: 1.2;
}Séparation des règles
Séparez les règles par des lignes vides.
html {
background: #fff;
}
body {
margin: auto;
width: 50%;
}Guillemets CSS
Utilisez des guillemets simples pour les sélecteurs d'attributs et les valeurs de propriétés. Les valeurs URI n'ont pas besoin de guillemets.
/* 不推荐 */
@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;
}Règles méta CSS
Commentaires de section
Utilisez des commentaires pour diviser le CSS en sections.
/* Header */
#adw-header {}
/* Footer */
#adw-footer {}
/* Gallery */
.adw-gallery {}
URL d'origine : https://google.github.io/styleguide/htmlcssguide.xml