Desishub Lessons
Html and Css Tutorial
Css Basic Concepts

Hello

CSS Comments

CSS comments are used to annotate your CSS code, making it easier to understand and maintain. Comments can provide explanations or notes about the CSS code, which is especially useful when working on large projects or collaborating with other developers. Comments are ignored by the browser, so they do not affect the rendered page

Usage: CSS comments are enclosed within /* */. Anything between these symbols will be treated as a comment and not processed by the browser

Css
 
/_ This is a single-line comment _/
p {
color: blue; /_ This is an inline comment _/
}
 
/_
This is a
multi-line comment
_/
body {
background-color: lightgrey;
}
 

CSS Selectors

CSS selectors are patterns used to select and style HTML elements. They are a fundamental part of CSS, determining which HTML elements will be affected by the styles you define. Understanding how selectors work is crucial for applying styles efficiently and effectively across your web pages

Types of CSS Selectors

Universal Selector (*)

Description: Selects all elements on the page

Css
* {
    margin: 0;
    padding: 0;
}
 

Usage: Useful for applying a global style reset.

Element Selector

Description: Selects all elements of a specific type

Css
p {
    color: blue;
}
 

Usage: Targets all paragraphs (p) to set their text color to blue

Class Selector (.)

Description: Selects all elements with a specific class attribute

Css
.classname {
    font-size: 20px;
}

Usage: Styles multiple elements with the class "classname"

ID Selector (#)

Description: Selects a single element with a specific ID attribute

Css
#uniqueid {
    background-color: yellow;
}
 

Usage: Targets a unique element with the ID "uniqueid"

Attribute Selector

Description: Selects elements with a specific attribute or attribute value

Html
a[href] {
    color: red;
}
a[target="_blank"] {
    font-weight: bold;
}
 

Usage: Styles all anchor (a) tags with an href attribute, and makes anchor tags that open in a new tab (target="_blank") bold

Descendant Selector

Description: Selects elements that are descendants of another element

Css
div p {
    color: green;
}
 
Child Selector (>)

Description: Selects elements that are direct children of a specified element

Css
ul > li {
    list-style-type: none;
}

Usage: Styles list items (li) that are direct children of an unordered list (ul)

Adjacent Sibling Selector (+)

Description: Selects an element that is immediately preceded by another element

Css
h1 + p {
    margin-top: 0;
}

Usage: Targets a paragraph (p) immediately following a heading (h1)

General Sibling Selector (~)

Description: Selects all elements that are siblings of a specified element

Css
h1 ~ p {
    color: purple;
}
 

Usage: Styles all paragraphs (p) that are siblings of a heading (h1)

Pseudo-class Selectors

Description: Selects elements based on their state or position

Css
a:hover {
    color: orange;
}
p:first-child {
    font-weight: bold;
}

Usage: Changes the color of links when hovered (:hover) and makes the first child paragraph of any parent bold (:first-child)

Pseudo-element Selectors

Description: Selects and styles parts of an element

Css
 
p::first-line {
    font-variant: small-caps;
}
p::before {
    content: "Note: ";
    font-weight: bold;
}
ℹ️

CSS selectors are a powerful tool for targeting specific HTML elements to apply styles. By understanding and using various types of selectors, you can create precise and efficient stylesheets that enhance the look and functionality of your web pages. Experimenting with different selectors will help you become more proficient in writing CSS

CSS Colors

CSS colors are used to define the color properties of HTML elements, including text, backgrounds, borders, and other elements. Understanding how to use colors effectively in CSS can greatly enhance the visual appeal and usability of your web pages

Types of CSS Color Values

Named Colors

Description: CSS provides 140 predefined color names that can be used directly

Css
p {
    color: red;
}
 

Usage: Simple and easy to remember for common colors like red, blue, green, etc

Hexadecimal (Hex) Colors

Description: Hex values represent colors using a combination of six hexadecimal digits

Format: #RRGGBB

Css
h1 {
    color: #ff6347; /* tomato */
}

Usage: Precise and widely used in web design. Each pair of digits represents the intensity of red, green, and blue

RGB Colors

Description: Similar to RGB but with an additional alpha component for transparency

Format: rgba(red, green, blue, alpha)

Css
.overlay {
    background-color: rgba(0, 0, 0, 0.5); /* semi-transparent black */
}

Usage: Useful for creating semi-transparent elements.

HSL Colors:

Description: The HSL color model defines colors using hue, saturation, and lightness.

Format: hsl(hue, saturation%, lightness%)

Css
.box {
    border-color: hsl(9, 100%, 64%); /* tomato */
}

Usage: Intuitive for adjusting colors by changing lightness or saturation

HSLA Colors

Description: Similar to HSL but with an additional alpha component for transparency

Format: hsla(hue, saturation%, lightness%, alpha)

Css
.highlight {
    background-color: hsla(9, 100%, 64%, 0.5); /* semi-transparent tomato */
}

Usage: Allows for transparent colors with HSL model benefits

ℹ️

Understanding and using CSS colors effectively can significantly impact the design and user experience of your web pages. By mastering different color formats, such as named colors, hex values, RGB, RGBA, HSL, and HSLA, you can create visually appealing and dynamic designs. Experiment with different color models to find the best fit for your projects.

Applying Colors to Various HTML Tags

CSS colors can be applied to many different HTML tags to enhance the visual appearance of a web page. Below are some common tags where colors are often applied, along with examples

Text Color:

Tag: (p), (h1), (h2), (h3), (h4), (h5), (h6), (span),(a)

Html
Tag: <p>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <span>, <a>
 
p {
    color: #333; /* Dark gray text for paragraphs */
}
h1 {
    color: #4CAF50; /* Green text for headings */
}
a {
    color: #FF5733; /* Orange text for links */
}
 

Background Color

Tag: (body), (div), (section), (article), (header), (footer), (nav), (aside)

Css
Tag: <body>, <div>, <section>, <article>, <header>, <footer>, <nav>, <aside>
 
body {
    background-color: #f0f0f0; /* Light gray background for the entire page */
}
.container {
    background-color: #ffffff; /* White background for a container div */
}
header {
    background-color: #008CBA; /* Blue background for header */
}
 
 

Border Color

Tag: (div), (img), (table), (th), (td), (input), (textarea)

Css
 
Tag: <div>, <img>, <table>, <th>, <td>, <input>, <textarea>
 
.box {
    border: 1px solid #cccccc; /* Light gray border for a box */
}
img {
    border: 2px solid #000000; /* Black border for images */
}
table {
    border: 1px solid #333333; /* Dark gray border for tables */
}
 

Color with Hover Effect:

Css
 
Tag: <a>, <button>, <div>
 
a {
    color: #007BFF; /* Blue text for links */
}
a:hover {
    color: #0056b3; /* Darker blue text for links on hover */
}
button {
    background-color: #4CAF50; /* Green background for buttons */
}
button:hover {
    background-color: #45a049; /* Darker green background for buttons on hover */
}
 
 

Color with Transparency

Css
 
.overlay {
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background for an overlay */
}
span.highlight {
    background-color: rgba(255, 255, 0, 0.3); /* Semi-transparent yellow background for highlighted text */
}
button {
    background-color: rgba(0, 128, 0, 0.7); /* Semi-transparent green background for buttons */
}
 

Color in Forms:

Tag: (input), (textarea), (select), (button)

Css
 
Tag: <input>, <textarea>, <select>, <button>
 
input[type="text"] {
    border: 1px solid #ccc; /* Light gray border for text inputs */
    background-color: #f9f9f9; /* Light background for text inputs */
}
textarea {
    border: 1px solid #bbb; /* Slightly darker gray border for textareas */
    background-color: #fff; /* White background for textareas */
}
select {
    border: 1px solid #aaa; /* Darker gray border for select dropdowns */
    background-color: #eee; /* Light gray background for select dropdowns */
}
button {
    background-color: #008CBA; /* Blue background for buttons */
    color: white; /* White text for buttons */
}
 
 

CSS Margins and Padding

Margins and padding are CSS properties used to create space around elements and inside elements' boundaries, respectively. Understanding how to use margins and padding effectively helps you control the layout and spacing of your web pages.

Margins

Margins are the space outside the border of an element. They create space between elements

Properties:

margin-top, margin-right, margin-bottom, margin-left: Sets the margin on each side of the element individually

** Values:**

auto: Centers the element horizontally within its container.

Length values (e.g., 10px, 2em, 1rem): Specifies a fixed margin size.

Percentage values (e.g., 5%, 10%): Specifies a margin relative to the width of the containing element.

Negative values (e.g., -10px, -0.5em): Allows elements to overlap or get closer

Css
 
.box {
    margin: 10px; /* Applies 10px margin on all sides */
}
 
.sidebar {
    margin-left: 20px; /* Applies 20px margin on the left side */
    margin-right: 20px; /* Applies 20px margin on the right side */
}
 

Hello

Padding

Description: Padding is the space between the content of an element and its border. It affects the inner area of the element

Properties:

padding-top, padding-right, padding-bottom, padding-left: Sets the padding on each side of the element individually.

auto: Centers the element horizontally within its container.

Length values (e.g., 10px, 2em, 1rem): Specifies a fixed padding size.

Percentage values (e.g., 5%, 10%): Specifies a padding relative to the width of the containing element.

Css
.content {
    padding: 20px; /* Applies 20px padding on all sides */
}
 
.header {
    padding-top: 10px; /* Applies 10px padding on the top */
    padding-bottom: 10px; /* Applies 10px padding on the bottom */
}
 
 

Hello

Hello

Margin and Padding Usage Guidelines:

Margins:

-Used to create space between elements.

-Avoid excessive negative margins as they can affect layout and readability.

Padding:

-Used to create space inside elements.

-Ensure adequate padding for readability and spacing of content.

ℹ️

Understanding how to use margins and padding effectively is essential for controlling the layout and spacing of elements in CSS. By using these properties wisely, you can achieve a well-organized and visually appealing design for your web pages. Experiment with different values and combinations to find the best spacing for your layout needs