Lecture Notes Of Class 13:
Floating Elements
Objective:
The goal
of this class is to understand the concept of floating elements in CSS, how to use the float
and clear
properties, and how
to create floating layouts for web pages. By the end of this class, students
will be able to float elements (e.g., images, text, divs) and create layouts
using these techniques.
1.
Introduction to Floating Elements
In web
design, floating elements are used to position content (such as images, text,
or other elements) to the left or right within their containing element,
allowing other content to flow around them. This is primarily achieved using
the float
property in CSS.
The float property has three possible values:
left
: Floats the element to the left of its containing block.right
: Floats the element to the right of its containing block.none
: (Default) The element does not float; it remains in the normal document flow.
Floating
elements allow us to create more complex layouts without using complicated
positioning techniques.
2.
Syntax of the float
Property
css
selector {
float: left | right | none;
}
left
: Moves the element to the left side of the container.right
: Moves the element to the right side of the container.none
: Resets the float property, bringing the element back to normal flow.
3.
The clear
Property
The clear
property is used to
specify whether an element can be next to a floating element or must be
positioned below it. This is essential to control the layout after floating
elements, preventing other elements from overlapping with floated items.
Values
of clear
:
left
: No floating element can be on the left side.right
: No floating element can be on the right side.both
: No floating element can be on either side.none
: The element can float freely.
Example:
css
p {
clear: both;
}
This will
make sure the paragraph starts after any floated elements on both sides.
4.
Floating Layouts
Floating
layouts use the float
property to position elements side-by-side, without having to rely on
traditional block-based layouts where elements stack vertically. A common use
case is for text and images, where text wraps around an image floated to the
left or right.
4.1.
Basic Floating Layout
To create
a basic layout where an image is floated to the left with text wrapping around
it, use the following structure:
HTML:
html
<div class="container">
<img src="image.jpg" alt="Image" class="float-left">
<p>This is a paragraph of text that will wrap around the floated image. The image is floated to the left, so the text appears next to it. The text will continue to flow around the image as long as the space is available. The floated image will sit on the left side of the container, with the text wrapping around it on the right side.
</p>
</div>
CSS:
css
.float-left {
float: left;
margin-right:
15px;
/* Add space between the image and text */
width:
200px;
/* Set image width */
}
.container {
width:
100%;
}
In this
example:
- The
float: left
in the.float-left
class causes the image to float to the left side of its container. - The
text in the
<p>
tag wraps around the image. - We
added
margin-right
to give some space between the image and the text.
4.2.
Clearing Floats
When
using floats, one common problem is that containers do not automatically expand
to accommodate the floated elements. To fix this, we use the clear
property or the clearfix hack.
Example
with clear
property:
html
<div class="container">
<div class="left">
<p>Text on the left
</p>
</div>
<div class="right">
<p>Text on the right
</p>
</div>
<div style="clear: both;"></div>
<!-- Clear the floats -->
</div>
CSS:
css
.left {
width:
45%;
float: left;
}
.right {
width:
45%;
float: right;
}
The <div style="clear:
both;"></div>
clears the floats, ensuring that the
container has enough height to accommodate all floated elements.
5.
Common Use Cases for Floating Elements
- Text and Image Layouts:
As demonstrated earlier, you can float images to the left or right to have
text wrap around them.
- Navigation Menus:
Floating can be used to create horizontal navigation menus by floating
<li>
elements within an unordered list. - Two-Column Layouts:
Floats can help create multi-column layouts by floating divs side by side.
6.
Lab Exercise: Create a Layout with Floated Images and Text
Objective: Create a layout where an image is
floated to the left and text wraps around it. Additionally, float another image
to the right and make sure the text adjusts accordingly.
Steps:
1.
Create the HTML structure
with a container that holds the images and text.
2.
Apply the float property
to the images, ensuring the text wraps properly.
3.
Use clear: both
to clear the floats at the end of the layout.
4.
Test the layout by adjusting the text
and image sizes.
Example
Code:
HTML:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Floating Layout
</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<img src="image1.jpg" alt="Image 1" class="float-left">
<p>This is a paragraph of text that will wrap around the first floated image. The image is floated to the left, so the text appears next to it. The text will continue to flow around the image.
</p>
<img src="image2.jpg" alt="Image 2" class="float-right">
<p>Here is some more text. The second image is floated to the right, so the text wraps around it. Notice how the text dynamically adjusts around the images as they are floated to the left and right.
</p>
<div style="clear: both;"></div>
<!-- Clear the floats -->
</div>
</body>
</html>
CSS:
css
.float-left {
float: left;
margin-right:
20px;
width:
200px;
}
.float-right {
float: right;
margin-left:
20px;
width:
200px;
}
.container {
width:
100%;
}
p {
text-align: justify;
}
7.
Conclusion
- The
float
property is a powerful tool for positioning elements side by side. - Use
the
clear
property to manage the layout and prevent overlap of content. - Floats
are often used for text and image wrapping and creating column-based
layouts.
No comments:
Post a Comment