Friday, 24 January 2025

Lecture Notes Of Class 19 - CSS Transitions

 


Lecture Notes Of  Class 19 - CSS Transitions

Objective: Learn to animate CSS properties using transitions for dynamic and interactive web pages.


1. Introduction to CSS Transitions

CSS Transitions allow you to make changes to CSS properties over a defined period, creating a smooth animation effect instead of an instant change. They are especially useful for hover effects, button interactions, or any element state changes.


2. Key Properties of CSS Transitions

2.1 transition Property

The transition shorthand property specifies which CSS properties to animate, the duration, timing function, and delay.

Syntax:

css

CopyEdit

transition: property duration timing-function delay;

Components:

  • property: The CSS property to animate (e.g., background-color, width).
  • duration: The time the transition takes (e.g., 1s, 500ms).
  • timing-function: Defines the speed curve of the animation (e.g., ease, linear).
  • delay (optional): The delay before the transition starts (e.g., 0.5s).

Example:

css

CopyEdit

div {

  transition: background-color 1s ease-in-out;

}

2.2 transition-duration

This property sets the time (in seconds or milliseconds) for the transition to complete.

Syntax:

css

CopyEdit

transition-duration: time;

Example:

css

CopyEdit

div {

  transition-duration: 2s;

}

2.3 transition-timing-function

Defines the pace of the transition effect. It controls how the intermediate values are calculated over time.

Common Values:

  • ease (default): Starts slow, speeds up, then slows down.
  • linear: Moves at a constant speed.
  • ease-in: Starts slow and accelerates.
  • ease-out: Starts fast and decelerates.
  • ease-in-out: Combines ease-in and ease-out.

Example:

css

CopyEdit

div {

  transition-timing-function: ease-in;

}


3. Combining Transition Properties

You can combine multiple transition properties using the transition shorthand.

Example:

css

CopyEdit

div {

  transition: all 0.5s ease-in-out;

}

Here:

  • all means all animatable properties will transition.
  • 0.5s is the duration.
  • ease-in-out specifies the timing function.

4. Lab Exercise: Create Hover Effects Using Transitions

Objective: Apply transitions to create smooth hover effects.

Steps:

1.   Create an HTML file with a basic structure.

2.   Style a button with CSS.

3.   Add transitions for hover effects.

HTML Code:

html

CopyEdit

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>CSS Transitions</title>

  <link rel="stylesheet" href="styles.css">

</head>

<body>

  <div class="container">

    <button class="hover-button">Hover Me</button>

  </div>

</body>

</html>

CSS Code:

css

CopyEdit

/* General styles */

body {

  font-family: Arial, sans-serif;

  display: flex;

  justify-content: center;

  align-items: center;

  height: 100vh;

  margin: 0;

  background-color: #f0f0f0;

}

 

.container {

  text-align: center;

}

 

button.hover-button {

  background-color: #4CAF50;

  color: white;

  border: none;

  padding: 15px 30px;

  font-size: 18px;

  border-radius: 5px;

  cursor: pointer;

  transition: background-color 0.5s ease, transform 0.3s ease;

}

 

button.hover-button:hover {

  background-color: #45a049;

  transform: scale(1.1);

}

Explanation:

1.   Initial Styles: The button has a green background, white text, and rounded corners.

2.   Hover Effect:

o    background-color changes smoothly to a lighter green (#45a049).

o    transform: scale(1.1) makes the button slightly larger on hover.

o    The transition property ensures these changes happen over 0.5 seconds for background color and 0.3 seconds for scaling.


5. Summary

  • CSS Transitions create smooth animations between property changes.
  • Use transition-duration to control how long the animation lasts.
  • Apply transition-timing-function to adjust the speed curve of the animation.
  • Combine multiple transitions for more dynamic effects.

Tip: Practice creating hover effects for various elements like images, links, and cards to enhance your web development skills!




No comments:

Post a Comment

Search This Blog

Powered by Blogger.