Cascading Style Sheets, most of the time abbreviated in CSS, is a stylesheet language used to describe the presentation of a document written in HTML or XML (including various XML languages like SVG or XHTML). CSS describes how the structured element must be rendered on screen, on paper, in speech, or on other media.
CSS is one of the core languages of the open web and has a standardized W3C specification. Developed in levels, CSS1 is now obsolete, CSS2.1 a recommendation and CSS3, now split into smaller modules, is progressing on the standard track. The first early drafts of CSS4 modules are being written.
An exhaustive reference for seasoned Web developers describing every property and concept of CSS.
A step-by-step introduction to help complete beginners get started. It presents all the needed fundamentals.
A collection of demos showing the latest CSS technologies in action: a boost for the creativity.
Documentation and tutorials about CSS
- CSS key concepts
- Describes the syntax of the language and introduces fundamentals like specificity and inheritance, the box model and margin collapsing, stacking and block-formatting contexts, or the initial, computed, used and actual values. Entities like CSS shorthand properties are also defined.
- Writing efficient CSS
- Explains how style sheet engines perform selector matching and describes rules for writing more efficient CSS.
- CSS transforms
- Presents the 2D operations that can be applied to each element in order to rotate, skew, translate it.
- CSS transitions
- Explains how to change the aspect of an element using a smooth animation between the initial and final state.
- CSS animations
- Describes how to define animations of an element but also how to detect in Javascript if the browser supports it.
- CSS gradients
- Explains how to define gradients, images composed of smooth variations of colors.
- CSS multi-column layouts
- Presents how to make multi-column page settings using the CSS Level 3 multi-column layout.
- CSS multiple backgrounds
- Describes how to define several backgrounds on the same element.
- Scaling background images
- Shows how to control background images when the image and the container are not the same size.
- CSS media queries
- Presents how to select style sheets based on details of the rendering device, like its viewport size, its resolution or if it has a touchscreen.
- CSS counters
- Explains how to use automatic counters and numbering, essentially used as list counters.
- Fonts and Typography
-
Informs about managing your fonts using
@font-faceand the WOFF font format. - CSS flexible boxes
- Describes how to use flexible boxes to design layouts.
- Consistent List Indentation
- Trying to change the indentation of lists with CSS is trickier than it looks, but only because CSS-conformant browsers took different paths to default indentation. Find out how to get them all in line.
- Using dynamic styling information
- How to obtain information on and manipulate styling via the DOM.
Getting help from the community
You need help on a CSS-related problem and can't find the solution in the documentation?
- Check the common CSS questions that give hints to solve common CSS problems.
- Go to Stack Overflow, a collaboratively built and maintained Q&A site and look if you can find the answer to your question. If not you will be able to ask your question there.
- Consult the layout forum, which covers CSS and HTML:
- Ask your question on the Mozilla IRC channel: #css
- Ask your question on the CSS-Discuss site and list
Don't forget about the netiquette...
Tools easing CSS development
- The W3C CSS Validation Service checks if a given CSS is valid. It is an invaluable debugging tool.
- Firefox' Firebug extension, a popular extension of that navigator that allows to edit live CSS on watched sites. Very practical to test some changes, though this extension does much more.
- Firefox' Web Developer extension also allows to watch and edit live CSS on watched sites. Simpler than Firebug, though less powerful.
- Firefox' EditCSS extension allows editing CSS in the sidebar.
Related Topics
- Mozilla Learn CSS resources.
- Open Web languages on which CSS is often applied: HTML, SVG, XHTML, XML.
- Mozilla technologies which make extensive use of CSS: XUL, Firefox and Thunderbird extensions and themes.