Book Image

Professional CSS3

By : Piotr Sikora
Book Image

Professional CSS3

By: Piotr Sikora

Overview of this book

CSS is the preferred technology to design modern web pages. Although CSS is often perceived as a simple language, applying modern styles to web pages with CSS and maintaining the code for larger websites can be quite tricky. We will take you right from understanding CSS to designing high-quality web pages in CSS3. We'll quickly take you through CSS3's features, and show you how to resolve common issues so you can build your basic framework. Finally, you will learn about code architecture and CSS methodologies used in scalable apps and you'll explore the various new features of CSS3, such as FlexBox, to help you create the most modern layout methodologies. By the end of the book, you will be a master at creating pure CSS web pages and will know sophisticated web design techniques, giving you an edge over other web designers.
Table of Contents (21 chapters)
Professional CSS3
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

CSS methodologies


CSS methodologies are built to make the process of building code more predictable and more organized. The most well-known methodologies are as follows:

  • Scalable and Modular Architecture for CSS (SMACSS)

  • Object Oriented CSS (OOCSS)

  • Block Element Modifier (BEM)

Each of these methodologies has different features. Let's check what these popular methodologies can offer.

SMACSS

SMACSS was created by Jonathan Snook. It's more of a framework than a methodology:

For the official website of the project, visit https://smacss.com/.

SMACSS is based on the following rules:

  • Base rules

  • Layout rules

  • Module rules

  • State rules

  • Theme rules

Base rules

Base rules are related elements:

  • header (h1-h6)

  • links (a, a:hover, a:active)

  • forms (form, input)

All of these rules are related to HTML elements and should not require the !important statement.

Layout rules

Layout rules are related to the main blocks in the structure, such as these:

  • header

  • footer

  • content

  • side menu

  • article

These elements are described with IDs as follows...