CSS 浮动 | 学习笔记

简介: 快速学习CSS 浮动

开发者学堂课程【前端开发CSS基础:CSS 浮动 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/361/detail/4266


CSS 浮动

内容介绍:

一、浮动简介

二、clear 属性:

三、float 实例演示

四、clear 实例演示


一、浮动简介

float:属性可用的值:

left:元素向左浮动

right:元素向右移动

none:元素不浮动

inherit:从父级继承浮动属性

注意:float 在绝对定位和 display 为 none 时不生效。

浮动特点:当把元素设置成浮动的时候,它本身是脱离文档流,不占位

在代码中详细讲解


二、clear 属性:

去掉浮动属性(包括继承来的属性)

clear 属性位:

left、right:去掉元素向左、向右浮动

both:左右两侧均去掉浮动

inherit:从父级继承来 clear 的


三、float 实例演示

(1)新建

先创建一个新的 HTML 文件,以 float 命名

需要先创建 div1,并命名一个名为 one 的类名,内容为我是 div1

<div class=”one”>我是div1</div>

创建 div2,并命名一个名为 two 的类名,内容为我是 div2

<div class=”two”>我是div2</div>

创建 div3,并命名一个名为 three 的类名,内容为我是 div3

<div class=”three”>我是div3</div>

样式的描写

先给 div 增加一个宽和高均为 100px 的样式

div{

width:100px;

height:100px;

}

再给每一个 div 附上颜色的要求

background-color: aquamarine;

.two{

background-color: pink;

}

.three{

background-color: plum;

} 

综上结合后代码为:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

div{

width:100px;

height:100px;

}

. one{

background -color: aquamarine ;

}

. two{

background -color:pink;

}

. three{

background -color:plum;

}

</style>

</head>

<body>

<div class="one">我是div1</div>

<div class="two">我是div2</div>

<div class="three">我是div3</div>

</body>

</html>

运行结果如下图:

三个垂直排列的 div,每个 div 都是块级元素,占有一行。

(2)添加一个容器 container

<div class=”container”>

<div class="one">我是div1</div>

<div class="two">我是div2</div>

<div class="three">我是div3</div>

</div> 

设置容器的样式

.container{

width: 600px;

height: 600px;

background-color: gray;

}

此时代码更新为:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

div{

width:100px;

height:100px;

}

. one{

background -color: aquamarine ;

}

. two{

background -color:pink;

}

. three{

background -color:plum;

}

container{

width: 600px;

height: 600px;

background-color: gray;

}

</style>

</head>

<body>

<div class=”container”>

<div class="one">我是div1</div>

<div class="two">我是div2</div>

<div class="three">我是div3</div>

</div>

</body>

</html>

改代码运行效果如图:

效果中灰色的 div 承载了三个小的 div

(3)给第一个 div 加上向左浮动的条件:

float:left

整体代码变为:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

div{

width:100px;

height:100px;

}

. one{

float:left

background -color: aquamarine ;

}

. two{

background -color:pink;

}

. three{

background -color:plum;

}

container{

width: 600px;

height: 600px;

background-color: gray;

}

</style>

</head>

<body>

<div class=”container”>

<div class="one">我是div1</div>

<div class="two">我是div2</div>

<div class="three">我是div3</div>

</div>

</body>

</html>

增加要求之后,效果如下;

图片1.png

此时只能观察到两个 div,那是因为第二个 div 在第一个的下方,需要将第二个的像素进行修改。修改内容如下:

two{

width:150px;

background -color:pink;

}

修改后效果变为;

因为在之前的讲述中,再给元素设置 float 属性时,他是脱离文档流的,可以理解为,它现在漂浮在浏览器的上方不占位,那么原来的 div1 的位置以及 div2 就上去了

(4)给 div2 加上一个右侧浮动

float:right;

此时整体代码变为:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

div{

width:100px;

height:100px;

}

. one{

float:left

background -color: aquamarine ;

}

. two{

float:right;

width:150px;

background -color:pink;

<div class=”container”>

<div class="one">我是div1</div>

<div class="two">我是div2</div>

<div class="three">我是div3</div>

</div>

</body>

</html>

加上右浮动后代码结果如下:

可以看到即使 div3 被覆盖了,但每一个 div 所包含的内容是没有覆盖的

(5)使三个 div 水平排列

将三个 div 同时向左或向右浮动,本次演示以向左浮动为例

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

div{

width:100px;

</style>

</head>

<body>

<div class=”container”>

<div class="one">我是div1</div>

<div class="two">我是div2</div>

<div class="three">我是div3</div>

</div>

</body>

</html> 

刷新后结果变为:

可以观察到三个 div 均已经水平排列

快速水平排列目前有三种方式

1. 变为 inline-block,用成列名元素。

2. 运用制作盒

3. 使用本节课讲述的 float用法

(6)在主容器中加入内容

内容为:hello

将主容器的宽度变为 300px;

再刷新后得到以下效果:

可以看到 div3 被挤下来了,因为容器的宽度不足以承载 div3,所以显示在第二行。

如果将主容器的内容变长将 hello 变成 hello world

再刷新后变成以下结果:

此时 hello world 依旧在右侧;

再将主容器的 hello world,变为一句话 helloworld;

此时原来的位置已经无法在承载 helloworld 的长度,所以他被挤到如图的位置上去。

再将 div1 的高度变为 150px;

. one{

height:150px;

float:left

background -color: aquamarine ;

}

结果如下:

可以观察到 div3的位置发生了变化

 

四、clear 实例演示

(1)新建

新建一个 HTML 文件,以 clear 命名。

先写一个 div,类名为 text1 ,内容为我将出现在屏幕右方,

<div class="text1">我将出现在屏幕右方</div>

先写一个 div,类名为 text2 ,内容为注意我出现的位置,

<div class="text2">注意我出现的位置</div>

代码整体为:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

.text1{

background -color: antiquewhite;

}

.text2{

background -color:burlywood;]I

}

<div class="text1">我将出现在屏幕右方</div>

<div class="text2">注意我出现的位置</div>

</body>

</html>

执行代码得到以下结果:

图片2.png

(2)给第一个 div 一个 float 属性

float: right;

整体代码变为如下:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>    

<div class="text1">我将出现在屏幕右方</div>

<div class="text2">注意我出现的位置</div>

</body>

</html> 

此时得到的效果示意图如下:

可以看到第一个 div 的内容不占位,由第二个占据第一个位置,此时原来第一个 div 的位置就变到了右侧

(3)给 div2 一个 clear 属性

clear: right;

整体代码变为如下:

<!DOCTYPE html>

<html lang="en">

<head>

}

.text2{

clear:right;

background -color:burlywood;]I

}

</style>

</head>

<body>

<div class="text1">我将出现在屏幕右方</div>

<div class="text2">注意我出现的位置</div>

</body>

</html> 

此时得到的效果示意图如下:

此时去掉了浮动的效果,独自占一行。

(4)注意:float 在绝对定位和 display 为 none 时不生效。

display=none 意思使隐藏对象且不会被隐藏的对象保持其空间,就是让对象隐藏彻底消失掉且不会保留原来的物理位置

演示:

将原来 text2 的 clear 内容删掉, 并在 text1 中加入position:absolute;

整体代码变为如下:

<!DOCTYPE html>

<html lang="en">

<head>

<style>

.text1{

float: right;

position:absolute;

background -color: antiquewhite;

}

.text2{

background -color:burlywood;]I

}

</style>

</head>

<body>

<div class="text1">我将出现在屏幕右方</div>

<div class="text2">注意我出现的位置</div>

</body>

</html>

此时得到的效果示意图如下:

结果并未变化,就是没有生效

但将 display 设置为 none ;此时运行后的结果就将完全看不到 div 的效果,所以就是将第一个 div 的效果彻底隐藏了。

相关文章
|
5月前
|
前端开发
5.CSS学习(浮动)
【7月更文挑战第29天】
40 4
|
21天前
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
33 2
|
6月前
|
前端开发 容器
CSS基础-浮动:float与清除浮动
【6月更文挑战第9天】本文介绍了CSS中的`float`属性,用于创建多列布局和图文混排,但会导致浮动塌陷和元素重叠问题。为解决这些问题,文章探讨了`clear`属性的四种清除浮动方法,包括`clear`属性、空元素、伪元素和`overflow`方法。随着Flexbox和Grid布局的兴起,它们在某些场景下替代了浮动,但理解浮动原理仍是布局基础。掌握浮动和清除浮动技巧对构建稳定布局至关重要。
77 5
|
3月前
|
前端开发 容器
css布局-弹性布局学习笔记
这篇文章是关于CSS弹性布局的学习笔记,详细介绍了flex容器和元素的相关属性,包括flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content以及order、flex-grow、flex-shrink、flex-basis、flex和align-self等,解释了这些属性在弹性盒子布局中的作用和用法。
|
3月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
前端开发
【前端web入门第六天】01 CSS浮动
这是关于CSS布局第六天学习目标的介绍,主要解决多个`&lt;div&gt;`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
|
4月前
|
前端开发 容器
前端面试热门问题--浮动和清除浮动(CSS)
前端面试热门问题--浮动和清除浮动(CSS)
|
5月前
|
前端开发
CSS:浮动
CSS:浮动
|
6月前
|
前端开发 容器
CSS浮动(如果想知道CSS有关浮动的知识点,那么只看这一篇就足够了!)
CSS浮动(如果想知道CSS有关浮动的知识点,那么只看这一篇就足够了!)
|
6月前
|
前端开发
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二
Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二
51 0