<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Google HTML/CSS Style Guide</title>
<link rel="stylesheet" href="javaguide.css">
<script src="include/styleguide.js"></script>
<link rel="shortcut icon" href="https://www.google.com/favicon.ico">
<script src="include/jsguide.js"></script>
</head>
<body onload="initStyleGuide();">
<div id="content">
<h1>Google HTML/CSS Style Guide</h1>
<h2 id="Background">1 Background</h2>

<p>This document defines formatting and style rules for HTML and CSS. It aims at
improving collaboration, code quality, and enabling supporting infrastructure.
It applies to raw, working files that use HTML and CSS, including GSS files.
Tools are free to obfuscate, minify, and compile as long as the general code
quality is maintained.</p>

<h2 id="General">2 General</h2>

<h3 id="General_Style_Rules">2.1 General Style Rules</h3>

<h4 id="Protocol">2.1.1 Protocol</h4>

<p>Use HTTPS for embedded resources where possible.</p>

<p>Always use HTTPS (<code>https:</code>) for images and other media
files, style sheets, and scripts, unless the respective files are not available
over HTTPS.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended: omits the protocol --&gt;
&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"&gt;&lt;/script&gt;

&lt;!-- Not recommended: uses HTTP --&gt;
&lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"&gt;&lt;/script&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"&gt;&lt;/script&gt;
</code></pre>

<pre><code class="language-css prettyprint badcode">/* Not recommended: omits the protocol */
@import '//fonts.googleapis.com/css?family=Open+Sans';

/* Not recommended: uses HTTP */
@import 'http://fonts.googleapis.com/css?family=Open+Sans';
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
@import 'https://fonts.googleapis.com/css?family=Open+Sans';
</code></pre>

<h3 id="General_Formatting_Rules">2.2 General Formatting Rules</h3>

<h4 id="Indentation">2.2.1 Indentation</h4>

<p>Indent by 2 spaces at a time.</p>

<p>Don&#8217;t use tabs or mix tabs and spaces for indentation.</p>

<pre><code class="language-html prettyprint">&lt;ul&gt;
  &lt;li&gt;Fantastic
  &lt;li&gt;Great
&lt;/ul&gt;
</code></pre>

<pre><code class="language-css prettyprint">.example {
  color: blue;
}
</code></pre>

<h4 id="Capitalization">2.2.2 Capitalization</h4>

<p>Use only lowercase.</p>

<p>All code has to be lowercase: This applies to HTML element names, attributes,
attribute values (unless <code>text/CDATA</code>), CSS selectors, properties, and property
values (with the exception of strings).</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;A HREF="/"&gt;Home&lt;/A&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;img src="google.png" alt="Google"&gt;
</code></pre>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
color: #E5E5E5;
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
color: #e5e5e5;
</code></pre>

<h4 id="Trailing_Whitespace">2.2.3 Trailing Whitespace</h4>

<p>Remove trailing white spaces.</p>

<p>Trailing white spaces are unnecessary and can complicate diffs.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;p&gt;What?_
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;p&gt;Yes please.
</code></pre>

<h3 id="General_Meta_Rules">2.3 General Meta Rules</h3>

<h4 id="Encoding">2.3.1 Encoding</h4>

<p>Use UTF-8 (no BOM).</p>

<p>Make sure your editor uses UTF-8 as character encoding, without a byte order
mark.</p>

<p>Specify the encoding in HTML templates and documents via <code>&lt;meta
charset="utf-8"&gt;</code>. Do not specify the encoding of style sheets as these assume
UTF-8.</p>

<p>(More on encodings and when and how to specify them can be found in <a href="https://www.w3.org/International/tutorials/tutorial-char-enc/">Handling
character encodings in HTML and CSS</a>.)</p>

<h4 id="Comments">2.3.2 Comments</h4>

<p>Explain code as needed, where possible.</p>

<p>Use comments to explain code: What does it cover, what purpose does it serve,
why is respective solution used or preferred?</p>

<p>(This item is optional as it is not deemed a realistic expectation to always
demand fully documented code. Mileage may vary heavily for HTML and CSS code and
depends on the project&#8217;s complexity.)</p>

<h4 id="Action_Items">2.3.3 Action Items</h4>

<p>Mark todos and action items with <code>TODO</code>.</p>

<p>Highlight todos by using the keyword <code>TODO</code> only, not other common formats like
<code>@@</code>.</p>

<p>Append a contact (username or mailing list) in parentheses as with the format
<code>TODO(contact)</code>.</p>

<p>Append action items after a colon as in <code>TODO: action item</code>.</p>

<pre><code class="language-django prettyprint external">{# TODO(john.doe): revisit centering #}
&lt;center&gt;Test&lt;/center&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- TODO: remove optional tags --&gt;
&lt;ul&gt;
  &lt;li&gt;Apples&lt;/li&gt;
  &lt;li&gt;Oranges&lt;/li&gt;
&lt;/ul&gt;
</code></pre>

<h2 id="HTML">3 HTML</h2>

<h3 id="HTML_Style_Rules">3.1 HTML Style Rules</h3>

<h4 id="Document_Type">3.1.1 Document Type</h4>

<p>Use HTML5.</p>

<p>HTML5 (HTML syntax) is preferred for all HTML documents: <code>&lt;!DOCTYPE html&gt;</code>.</p>

<p>(It&#8217;s recommended to use HTML, as <code>text/html</code>. Do not use XHTML. XHTML, as
<a href="https://hixie.ch/advocacy/xhtml"><code>application/xhtml+xml</code></a>, lacks both browser
and infrastructure support and offers less room for optimization than HTML.)</p>

<p>Although fine with HTML, do not close void elements, i.e. write <code>&lt;br&gt;</code>, not
<code>&lt;br /&gt;</code>.</p>

<h4 id="HTML_Validity">3.1.2 HTML Validity</h4>

<p>Use valid HTML where possible.</p>

<p>Use valid HTML code unless that is not possible due to otherwise unattainable
performance goals regarding file size.</p>

<p>

Use tools such as the <a href="https://validator.w3.org/nu/">W3C HTML validator</a>
to test.
</p>

<p>Using valid HTML is a measurable baseline quality attribute that contributes to
learning about technical requirements and constraints, and that ensures proper
HTML usage.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;title&gt;Test&lt;/title&gt;
&lt;article&gt;This is only a test.
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;!DOCTYPE html&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;Test&lt;/title&gt;
&lt;article&gt;This is only a test.&lt;/article&gt;
</code></pre>

<h4 id="Semantics">3.1.3 Semantics</h4>

<p>Use HTML according to its purpose.</p>

<p>Use elements (sometimes incorrectly called &#8220;tags&#8221;) for what they have been
created for. For example, use heading elements for headings, <code>p</code> elements for
paragraphs, <code>a</code> elements for anchors, etc.</p>

<p>Using HTML according to its purpose is important for accessibility, reuse, and
code efficiency reasons.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;div onclick="goToRecommendations();"&gt;All recommendations&lt;/div&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;a href="recommendations/"&gt;All recommendations&lt;/a&gt;
</code></pre>

<h4 id="Multimedia_Fallback">3.1.4 Multimedia Fallback</h4>

<p>Provide alternative contents for multimedia.</p>

<p>For multimedia, such as images, videos, animated objects via <code>canvas</code>, make sure
to offer alternative access. For images that means use of meaningful alternative
text (<code>alt</code>) and for video and audio transcripts and captions, if available.</p>

<p>Providing alternative contents is important for accessibility reasons: A blind
user has few cues to tell what an image is about without <code>@alt</code>, and other users
may have no way of understanding what video or audio contents are about either.</p>

<p>(For images whose <code>alt</code> attributes would introduce redundancy, and for images
whose purpose is purely decorative which you cannot immediately use CSS for, use
no alternative text, as in <code>alt=""</code>.)</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;img src="spreadsheet.png"&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;img src="spreadsheet.png" alt="Spreadsheet screenshot."&gt;
</code></pre>

<h4 id="Separation_of_Concerns">3.1.5 Separation of Concerns</h4>

<p>Separate structure from presentation from behavior.</p>

<p>Strictly keep structure (markup), presentation (styling), and behavior
(scripting) apart, and try to keep the interaction between the three to an
absolute minimum.</p>

<p>That is, make sure documents and templates contain only HTML and HTML that is
solely serving structural purposes. Move everything presentational into style
sheets, and everything behavioral into scripts.</p>

<p>In addition, keep the contact area as small as possible by linking as few style
sheets and scripts as possible from documents and templates.</p>

<p>Separating structure from presentation from behavior is important for
maintenance reasons. It is always more expensive to change HTML documents and
templates than it is to update style sheets and scripts.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;!DOCTYPE html&gt;
&lt;title&gt;HTML sucks&lt;/title&gt;
&lt;link rel="stylesheet" href="base.css" media="screen"&gt;
&lt;link rel="stylesheet" href="grid.css" media="screen"&gt;
&lt;link rel="stylesheet" href="print.css" media="print"&gt;
&lt;h1 style="font-size: 1em;"&gt;HTML sucks&lt;/h1&gt;
&lt;p&gt;I&#8217;ve read about this on a few sites but now I&#8217;m sure:
  &lt;u&gt;HTML is stupid!!1&lt;/u&gt;
&lt;center&gt;I can&#8217;t believe there&#8217;s no way to control the styling of
  my website without doing everything all over again!&lt;/center&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;!DOCTYPE html&gt;
&lt;title&gt;My first CSS-only redesign&lt;/title&gt;
&lt;link rel="stylesheet" href="default.css"&gt;
&lt;h1&gt;My first CSS-only redesign&lt;/h1&gt;
&lt;p&gt;I&#8217;ve read about this on a few sites but today I&#8217;m actually
  doing it: separating concerns and avoiding anything in the HTML of
  my website that is presentational.
&lt;p&gt;It&#8217;s awesome!
</code></pre>

<h4 id="Entity_References">3.1.6 Entity References</h4>

<p>Do not use entity references.</p>

<p>There is no need to use entity references like <code>&amp;mdash;</code>, <code>&amp;rdquo;</code>, or
<code>&amp;#x263a;</code>, assuming the same encoding (UTF-8) is used for files and editors
as well as among teams.</p>

<p>The only exceptions apply to characters with special meaning in HTML (like <code>&lt;</code>
and <code>&amp;</code>) as well as control or &#8220;invisible&#8221; characters (like no-break spaces).</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
The currency symbol for the Euro is &amp;ldquo;&amp;eur;&amp;rdquo;.
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
The currency symbol for the Euro is &#8220;&#8364;&#8221;.
</code></pre>

<h4 id="Optional_Tags">3.1.7 Optional Tags</h4>

<p>Omit optional tags (optional).</p>

<p>For file size optimization and scannability purposes, consider omitting optional
tags. The <a href="https://html.spec.whatwg.org/multipage/syntax.html#syntax-tag-omission">HTML5 specification</a>
defines what tags can be omitted.</p>

<p>(This approach may require a grace period to be established as a wider guideline
as it&#8217;s significantly different from what web developers are typically taught.
For consistency and simplicity reasons it&#8217;s best served omitting all optional
tags, not just a selection.)</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Spending money, spending bytes&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;Sic.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;!DOCTYPE html&gt;
&lt;title&gt;Saving money, saving bytes&lt;/title&gt;
&lt;p&gt;Qed.
</code></pre>

<h4 id="type_Attributes">3.1.8 <code>type</code> Attributes</h4>

<p>Omit <code>type</code> attributes for style sheets and scripts.</p>

<p>Do not use <code>type</code> attributes for style sheets (unless not using CSS) and scripts
(unless not using JavaScript).</p>

<p>Specifying <code>type</code> attributes in these contexts is not necessary as HTML5 implies
<a href="https://html.spec.whatwg.org/multipage/obsolete.html#attr-style-type"><code>text/css</code></a>
and <a href="https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type"><code>text/javascript</code></a>
as defaults. This can be safely done even for older browsers.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;link rel="stylesheet" href="https://www.google.com/css/maia.css"
  type="text/css"&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;link rel="stylesheet" href="https://www.google.com/css/maia.css"&gt;
</code></pre>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;script src="https://www.google.com/js/gweb/analytics/autotrack.js"
  type="text/javascript"&gt;&lt;/script&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;script src="https://www.google.com/js/gweb/analytics/autotrack.js"&gt;&lt;/script&gt;
</code></pre>

<h3 id="HTML_Formatting_Rules">3.2 HTML Formatting Rules</h3>

<h4 id="General_Formatting">3.2.1 General Formatting</h4>

<p>Use a new line for every block, list, or table element, and indent every such
child element.</p>

<p>Independent of the styling of an element (as CSS allows elements to assume a
different role per <code>display</code> property), put every block, list, or table element
on a new line.</p>

<p>Also, indent them if they are child elements of a block, list, or table element.</p>

<p>(If you run into issues around whitespace between list items it&#8217;s acceptable to
put all <code>li</code> elements in one line. A linter is encouraged to throw a warning
instead of an error.)</p>

<pre><code class="language-html prettyprint">&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Space&lt;/em&gt;, the final frontier.&lt;/p&gt;
&lt;/blockquote&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;ul&gt;
  &lt;li&gt;Moe
  &lt;li&gt;Larry
  &lt;li&gt;Curly
&lt;/ul&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th scope="col"&gt;Income
      &lt;th scope="col"&gt;Taxes
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;$ 5.00
      &lt;td&gt;$ 4.50
&lt;/table&gt;
</code></pre>

<h4 id="HTML_Line-Wrapping">3.2.2 HTML Line-Wrapping</h4>

<p>Break long lines (optional).</p>

<p>While there is no column limit recommendation for HTML, you may consider
wrapping long lines if it significantly improves readability.</p>

<p>When line-wrapping, each continuation line should be indented at least 4
additional spaces from the original line.</p>

<pre><code class="language-html prettyprint">&lt;md-progress-circular md-mode="indeterminate" class="md-accent"
    ng-show="ctrl.loading" md-diameter="35"&gt;
&lt;/md-progress-circular&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;md-progress-circular
    md-mode="indeterminate"
    class="md-accent"
    ng-show="ctrl.loading"
    md-diameter="35"&gt;
&lt;/md-progress-circular&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;md-progress-circular md-mode="indeterminate"
                      class="md-accent"
                      ng-show="ctrl.loading"
                      md-diameter="35"&gt;
&lt;/md-progress-circular&gt;
</code></pre>

<h4 id="HTML_Quotation_Marks">3.2.3 HTML Quotation Marks</h4>

<p>When quoting attributes values, use double quotation marks.</p>

<p>Use double (<code>""</code>) rather than single quotation marks (<code>''</code>) around attribute
values.</p>

<pre><code class="language-html prettyprint badcode">&lt;!-- Not recommended --&gt;
&lt;a class='maia-button maia-button-secondary'&gt;Sign in&lt;/a&gt;
</code></pre>

<pre><code class="language-html prettyprint">&lt;!-- Recommended --&gt;
&lt;a class="maia-button maia-button-secondary"&gt;Sign in&lt;/a&gt;
</code></pre>

<h2 id="CSS">4 CSS</h2>

<h3 id="CSS_Style_Rules">4.1 CSS Style Rules</h3>

<h4 id="CSS_Validity">4.1.1 CSS Validity</h4>

<p>Use valid CSS where possible.</p>

<p>Unless dealing with CSS validator bugs or requiring proprietary syntax, use
valid CSS code.</p>

<p>

Use tools such as the <a href="https://jigsaw.w3.org/css-validator/">W3C CSS validator</a>
to test.
</p>

<p>Using valid CSS is a measurable baseline quality attribute that allows to spot
CSS code that may not have any effect and can be removed, and that ensures
proper CSS usage.</p>

<h4 id="ID_and_Class_Naming">4.1.2 ID and Class Naming</h4>

<p>Use meaningful or generic ID and class names.</p>

<p>Instead of presentational or cryptic names, always use ID and class names that
reflect the purpose of the element in question, or that are otherwise generic.</p>

<p>Names that are specific and reflect the purpose of the element should be
preferred as these are most understandable and the least likely to change.</p>

<p>Generic names are simply a fallback for elements that have no particular or no
meaning different from their siblings. They are typically needed as &#8220;helpers.&#8221;</p>

<p>Using functional or generic names reduces the probability of unnecessary
document or template changes.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended: meaningless */
#yee-1901 {}

/* Not recommended: presentational */
.button-green {}
.clear {}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended: specific */
#gallery {}
#login {}
.video {}

/* Recommended: generic */
.aux {}
.alt {}
</code></pre>

<h4 id="ID_and_Class_Name_Style">4.1.3 ID and Class Name Style</h4>

<p>Use ID and class names that are as short as possible but as long as necessary.</p>

<p>Try to convey what an ID or class is about while being as brief as possible.</p>

<p>Using ID and class names this way contributes to acceptable levels of
understandability and code efficiency.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
#navigation {}
.atr {}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
#nav {}
.author {}
</code></pre>

<h4 id="Type_Selectors">4.1.4 Type Selectors</h4>

<p>Avoid qualifying ID and class names with type selectors.</p>

<p>Unless necessary (for example with helper classes), do not use element names in
conjunction with IDs or classes.</p>

<p>Avoiding unnecessary ancestor selectors is useful for <a href="http://www.stevesouders.com/blog/2009/06/18/simplifying-css-selectors/">performance reasons</a>.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
ul#example {}
div.error {}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
#example {}
.error {}
</code></pre>

<h4 id="Shorthand_Properties">4.1.5 Shorthand Properties</h4>

<p>Use shorthand properties where possible.</p>

<p>CSS offers a variety of <a href="https://www.w3.org/TR/CSS21/about.html#shorthand">shorthand</a>
properties (like <code>font</code>) that should be used whenever possible, even in cases
where only one value is explicitly set.</p>

<p>Using shorthand properties is useful for code efficiency and understandability.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
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;
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
border-top: 0;
font: 100%/1.6 palatino, georgia, serif;
padding: 0 1em 2em;
</code></pre>

<h4 id="0_and_Units">4.1.6 0 and Units</h4>

<p>Omit unit specification after &#8220;0&#8221; values, unless required.</p>

<p>Do not use units after <code>0</code> values unless they are required.</p>

<pre><code class="language-css prettyprint">flex: 0px; /* This flex-basis component requires a unit. */
flex: 1 1 0px; /* Not ambiguous without the unit, but needed in IE11. */
margin: 0;
padding: 0;
</code></pre>

<h4 id="Leading_0s">4.1.7 Leading 0s</h4>

<p>Omit leading &#8220;0&#8221;s in values.</p>

<p>Do not put <code>0</code>s in front of values or lengths between -1 and 1.</p>

<pre><code class="language-css prettyprint">font-size: .8em;
</code></pre>

<h4 id="Hexadecimal_Notation">4.1.8 Hexadecimal Notation</h4>

<p>Use 3 character hexadecimal notation where possible.</p>

<p>For color values that permit it, 3 character hexadecimal notation is shorter and
more succinct.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
color: #eebbcc;
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
color: #ebc;
</code></pre>

<h4 id="Prefixes">4.1.9 Prefixes</h4>

<p>Prefix selectors with an application-specific prefix (optional).</p>

<p>In large projects as well as for code that gets embedded in other projects or on
external sites use prefixes (as namespaces) for ID and class names. Use short,
unique identifiers followed by a dash.</p>

<p>Using namespaces helps preventing naming conflicts and can make maintenance
easier, for example in search and replace operations.</p>

<pre><code class="language-css prettyprint">.adw-help {} /* AdWords */
#maia-note {} /* Maia */
</code></pre>

<h4 id="ID_and_Class_Name_Delimiters">4.1.10 ID and Class Name Delimiters</h4>

<p>Separate words in ID and class names by a hyphen.</p>

<p>Do not concatenate words and abbreviations in selectors by any characters
(including none at all) other than hyphens, in order to improve understanding
and scannability.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended: does not separate the words &#8220;demo&#8221; and &#8220;image&#8221; */
.demoimage {}

/* Not recommended: uses underscore instead of hyphen */
.error_status {}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
#video-id {}
.ads-sample {}
</code></pre>

<h4 id="Hacks">4.1.11 Hacks</h4>

<p>Avoid user agent detection as well as CSS &#8220;hacks&#8221;&#8212;try a different approach
first.</p>

<p>It&#8217;s tempting to address styling differences over user agent detection or
special CSS filters, workarounds, and hacks. Both approaches should be
considered last resort in order to achieve and maintain an efficient and
manageable code base. Put another way, giving detection and hacks a free pass
will hurt projects in the long run as projects tend to take the way of least
resistance. That is, allowing and making it easy to use detection and hacks
means using detection and hacks more frequently&#8212;and more frequently is too
frequently.</p>

<h3 id="CSS_Formatting_Rules">4.2 CSS Formatting Rules</h3>

<h4 id="Declaration_Order">4.2.1 Declaration Order</h4>

<p>Alphabetize declarations.</p>

<p>Put declarations in alphabetical order in order to achieve consistent code in a
way that is easy to remember and maintain.</p>

<p>Ignore vendor-specific prefixes for sorting purposes. However, multiple
vendor-specific prefixes for a certain CSS property should be kept sorted (e.g.
-moz prefix comes before -webkit).</p>

<pre><code class="language-css prettyprint">background: fuchsia;
border: 1px solid;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
color: black;
text-align: center;
text-indent: 2em;
</code></pre>

<h4 id="Block_Content_Indentation">4.2.2 Block Content Indentation</h4>

<p>Indent all block content.</p>

<p>Indent all <a href="https://www.w3.org/TR/CSS21/syndata.html#block">block content</a>,
that is rules within rules as well as declarations, so to reflect hierarchy and
improve understanding.</p>

<pre><code class="language-css prettyprint">@media screen, projection {

  html {
    background: #fff;
    color: #444;
  }

}
</code></pre>

<h4 id="Declaration_Stops">4.2.3 Declaration Stops</h4>

<p>Use a semicolon after every declaration.</p>

<p>End every declaration with a semicolon for consistency and extensibility
reasons.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
.test {
  display: block;
  height: 100px
}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
.test {
  display: block;
  height: 100px;
}
</code></pre>

<h4 id="Property_Name_Stops">4.2.4 Property Name Stops</h4>

<p>Use a space after a property name&#8217;s colon.</p>

<p>Always use a single space between property and value (but no space between
property and colon) for consistency reasons.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
h3 {
  font-weight:bold;
}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
h3 {
  font-weight: bold;
}
</code></pre>

<h4 id="Declaration_Block_Separation">4.2.5 Declaration Block Separation</h4>

<p>Use a space between the last selector and the declaration block.</p>

<p>Always use a single space between the last selector and the opening brace that
begins the <a href="https://www.w3.org/TR/CSS21/syndata.html#rule-sets">declaration block</a>.</p>

<p>The opening brace should be on the same line as the last selector in a given
rule.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended: missing space */
#video{
  margin-top: 1em;
}

/* Not recommended: unnecessary line break */
#video
{
  margin-top: 1em;
}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
#video {
  margin-top: 1em;
}
</code></pre>

<h4 id="Selector_and_Declaration_Separation">4.2.6 Selector and Declaration Separation</h4>

<p>Separate selectors and declarations by new lines.</p>

<p>Always start a new line for each selector and declaration.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
a:focus, a:active {
  position: relative; top: 1px;
}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
h1,
h2,
h3 {
  font-weight: normal;
  line-height: 1.2;
}
</code></pre>

<h4 id="Rule_Separation">4.2.7 Rule Separation</h4>

<p>Separate rules by new lines.</p>

<p>Always put a blank line (two line breaks) between rules.</p>

<pre><code class="language-css prettyprint">html {
  background: #fff;
}

body {
  margin: auto;
  width: 50%;
}
</code></pre>

<h4 id="CSS_Quotation_Marks">4.2.8 CSS Quotation Marks</h4>

<p>Use single (<code>''</code>) rather than double (<code>""</code>) quotation marks for attribute
selectors and property values.</p>

<p>Do not use quotation marks in URI values (<code>url()</code>).</p>

<p>Exception: If you do need to use the <code>@charset</code> rule, use double quotation
marks&#8212;<a href="https://www.w3.org/TR/CSS21/syndata.html#charset">single quotation marks are not permitted</a>.</p>

<pre><code class="language-css prettyprint badcode">/* Not recommended */
@import url("https://www.google.com/css/maia.css");

html {
  font-family: "open sans", arial, sans-serif;
}
</code></pre>

<pre><code class="language-css prettyprint">/* Recommended */
@import url(https://www.google.com/css/maia.css);

html {
  font-family: 'open sans', arial, sans-serif;
}
</code></pre>

<h3 id="CSS_Meta_Rules">4.3 CSS Meta Rules</h3>

<h4 id="Section_Comments">4.3.1 Section Comments</h4>

<p>Group sections by a section comment (optional).</p>

<p>If possible, group style sheet sections together by using comments. Separate
sections with new lines.</p>

<pre><code class="language-css prettyprint">/* Header */

#adw-header {}

/* Footer */

#adw-footer {}

/* Gallery */

.adw-gallery {}
</code></pre>

<h2 id="Parting_Words">Parting Words</h2>

<p><em>Be consistent.</em></p>

<p>If you&#8217;re editing code, take a few minutes to look at the code around you and
determine its style. If they use spaces around all their arithmetic operators,
you should too. If their comments have little boxes of hash marks around them,
make your comments have little boxes of hash marks around them too.</p>

<p>The point of having style guidelines is to have a common vocabulary of coding so
people can concentrate on what you&#8217;re saying rather than on how you&#8217;re saying
it. We present global style rules here so people know the vocabulary, but local
style is also important. If code you add to a file looks drastically different
from the existing code around it, it throws readers out of their rhythm when
they go to read it. Avoid this.</p>
</div>
</body>
</html>
