From 540677c42adc6771d9e755f5a3c2bd5887611ec9 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sun, 15 Dec 2013 13:39:45 -0800 Subject: [PATCH] Fixes #11795: Update the contributing guidelines to include some more CSS guidelines --- CONTRIBUTING.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 708ace7ec9..21062d9f1b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,12 +37,15 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso ### CSS -- Adhere to the [RECESS CSS property order](http://markdotto.com/2011/11/29/css-property-order/) +- Adhere to the [CSS property order](http://markdotto.com/2011/11/29/css-property-order/) - Multiple-line approach (one property and value per line) - Always a space after a property's colon (e.g., `display: block;` and not `display:block;`) - End all lines with a semi-colon - For multiple, comma-separated selectors, place each selector on its own line - Attribute selectors, like `input[type="text"]` should always wrap the attribute's value in double quotes, for consistency and safety (see this [blog post on unquoted attribute values](http://mathiasbynens.be/notes/unquoted-attribute-values) that can lead to XSS attacks). +- Attribute selectors should only be used where absolutely necessary (e.g., form controls) and should be avoided on custom components for performance and explicitness. +- Series of classes for a component should include a base class (e.g., `.component`) and use the base class as a prefix for modifier and sub-components (e.g., `.component-lg`). +- Avoid inheritance and over nesting—use single, explicit classes whenever possible. ### JS -- 2.47.2