1. Home
  2. Learn
  3. Introduction to Styling with CSS

Introduction to Styling with CSS

CSS (Cascading Style Sheets) is a stylesheet language used to describe the presentation of a document written in HTML or XML. CSS is used to control the layout, colors, fonts, and overall visual appearance of web pages. It is a fundamental technology for web development, enabling developers to create visually appealing and responsive websites.

This guide will introduce you to the fundamentals of CSS programming, helping you style web pages effectively and efficiently.


Table of Contents

  1. What is CSS?
  2. Setting Up Your Environment
  3. Selectors and Specificity
  4. Box Model
  5. Typography
  6. Colors and Backgrounds
  7. Layout with Flexbox
  8. Grid Layout
  9. Responsive Design
  10. Transitions and Animations

What is CSS?

CSS is a stylesheet language used to style HTML elements. It allows you to control the layout, colors, fonts, and overall visual appearance of web pages.

1/* Example: Your first CSS rule */
2h1 {
3    color: blue;
4    font-size: 24px;
5}

Setting Up Your Environment

To write and apply CSS, you need a text editor and a web browser. You can include CSS in your HTML file using the <style> tag or an external stylesheet.

1<!-- Example: Linking an external CSS file -->
2<link rel="stylesheet" href="styles.css">

Selectors and Specificity

CSS selectors are used to target HTML elements. Specificity determines which styles are applied when multiple rules match the same element.

 1/* Example: Selectors */
 2h1 {
 3    color: blue;
 4}
 5
 6#header {
 7    color: red;
 8}
 9
10.class-name {
11    color: green;
12}

Box Model

The CSS box model describes the rectangular boxes generated for elements, including content, padding, border, and margin.

1/* Example: Box model */
2.box {
3    width: 200px;
4    padding: 20px;
5    border: 5px solid black;
6    margin: 10px;
7}

Typography

CSS provides extensive control over text styling, including font family, size, weight, and alignment.

1/* Example: Typography */
2body {
3    font-family: Arial, sans-serif;
4    font-size: 16px;
5    font-weight: bold;
6    text-align: center;
7}

Colors and Backgrounds

CSS allows you to set colors and backgrounds for elements using various color models and properties.

 1/* Example: Colors and backgrounds */
 2body {
 3    color: white;
 4    background-color: black;
 5}
 6
 7div {
 8    background-image: url('image.jpg');
 9    background-size: cover;
10}

Layout with Flexbox

Flexbox is a layout model that allows you to design flexible and responsive layouts with ease.

1/* Example: Flexbox */
2.container {
3    display: flex;
4    justify-content: space-between;
5    align-items: center;
6}

Grid Layout

CSS Grid is a powerful layout system that allows you to create complex, responsive layouts.

1/* Example: Grid layout */
2.container {
3    display: grid;
4    grid-template-columns: repeat(3, 1fr);
5    gap: 10px;
6}

Responsive Design

Responsive design ensures that web pages look good on all devices. CSS media queries are used to apply different styles based on screen size.

1/* Example: Media queries */
2@media (max-width: 768px) {
3    body {
4        font-size: 14px;
5    }
6}

Transitions and Animations

CSS transitions and animations allow you to create smooth, animated effects on web pages.

 1/* Example: Transition */
 2.button {
 3    background-color: blue;
 4    transition: background-color 0.5s ease;
 5}
 6
 7.button:hover {
 8    background-color: red;
 9}
10
11/* Example: Animation */
12@keyframes slide {
13    from {
14        transform: translateX(0);
15    }
16    to {
17        transform: translateX(100px);
18    }
19}
20
21.slider {
22    animation: slide 2s infinite;
23}