CSS中的float属性

px3 有感分析 px3 后续分析 阅读详情

Float属性介绍

  position属性和float属性一直是进行样式设计时的重点和难点。这篇文章内容是关于float属性简介,及其在布局时的作用。
  float属性,最初的定义其实是类似于word里面的文字环绕效果。这一点在css布局时也会体现出来。代码如下:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
        body {width: 200px; height: 100px;}
        img {float: right;}
        p {background-color: #aaaaaa;}
    </style>
</head>

<body>
    <p>
        <img src="./2.png" />
        This is some text. This is some text. This is some text.
        This is some text. This is some text. This is some text.
        This is some text. This is some text. This is some text.
        This is some text. This is some text. This is some text.
    </p>
</body>
</html>

原始float
这里可以看出,图片浮动在p块上,而p块中的文字是环绕在图片的四周的。
浮动元素不占任何正常文档流的空间,而浮动元素的定位还是基于正常的文档流(自上而下以及父子元素包含关系)。设置了float属性的元素自动转变为块级元素,拥有width、height等属性。比如上面例子的p块,由于img脱离了文档流,使p块从body的顶端开始。img是浮动在p块上的,p块里的文字则环绕在img四周。设置了元素浮动后,top、bottom、left、right属性就都不起作用了。只能通过margin或者padding来设置偏移和定位。

随着web前端的发展,float的含义和作用也发生了改变,现在float属性更多地用在了元素定位上。
从上例可以看出,设置了float属性的元素只会影响紧随在它后面的元素(这里是p块)。


float的应用及可能出现的问题

1.子元素设置浮动导致父元素没有高度

这种情况一般出现在父元素没有给固定高度,而子元素设置为float和有固定的高度。究其原因是子元素设置浮动后,会使子元素脱离文档流,即子元素设置float属性后,当前的html文档会当作子元素不存在一样,所以可以看作父元素内根本没有内容,高度当然也就撑不开。
代码如下:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        .outer {
            /*width: 200px;
            height: 200px;*/
            background-color: #7B7B7B;
        }

        .inner {
            /*float: right;*/
            width: 100px;
            height: 100px;
            background-color: #00EC00;
        }
    </style>
</head>

<body>
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>

效果图如下:
这里写图片描述
此时父元素被子元素撑开,高度和子元素高度一致。
当给子元素inner块添加float=right属性时,效果图如下:
这里写图片描述
父元素没有了!就是因为子元素设置浮动后从标准文档流中脱离出来了。

解决办法有如下:
- 设置父元素float属性。这样,父元素也是脱离当前文档流,子元素和父元素一起脱离,并且子元素仍在父元素内,父元素内容不空了,所以高度会适应子元素高度。
- 在最后一个设置浮动的子元素后加一个空div,清除浮动。即紧随inner标签后增加一个块级元素空标签。并设置clear: both。不过这样会增加额外的空标签。
- 父元素设置overflow:hidden属性。(注:如果父元素内不只有这一个floa属性的子元素,则如果其他子元素没有设置float属性,父元素的高度就和其他子元素中高度最高的一致。)

2.三栏布局,两边固定宽度中间自适应

首先给出利用float实现上述要求的代码:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
        * {margin: 0; padding: 0;}
        .left {float: left; width: 100px; height: 200px; background-color: #7B7B7B;}
        .right {float: right; width: 100px; height: 200px; background-color: #00EC00;}
        .main {margin: 0 230px; height: 200px; background-color: #0000E3;}
    </style>
</head>

<body>
    <div class="left"></div>
    <div class="right"></div>
    <div class="main"></div>
</body>
</html>

效果图:
float自适应宽度
使用这种方法一定要注意:
1. html结构为先写left块和right块,再写main块!因为float属性只会影响紧随其后的元素。如果是按照left-main-right的顺序写html结构,会出现如下情况:这里写图片描述
2. 左右两块需要设置width。中间块可不设置height,使其高度根据内容作相应改变。
3. 中间块与两边块的距离是通过margin: 0 230px;来控制的,230px即为距离控制量。

【数据集】中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队 中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队 阅读详情

相关推荐

保姆级教程:在K230开发板上为张大头步进电机实现位置、速度、回零全功能控制

本文提供了一份详细的K230开发板与张大头步进电机的控制教程,涵盖硬件连接、协议解析、模块化代码实现及实战案例。通过位置、速度和回零功能的全面讲解,帮助开发者快速掌握步进电机的高级控制技术,适用于自动化、机器人等应用场景。

weixin_42629671的博客 710

《CSS Float浮动》

什么是 CSS Float(浮动)? CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。 Float(浮动),往往是用于图像,但它在布局时一样非常有用。 元素怎样浮动 元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。 一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 浮动元素之后的元素将围绕它。 浮动元...

yexiang优快云的专栏 443

飞塔防火墙和paloalto防火墙构建ipsec

一、配置fortigate防火墙1.防火墙配置上网功能1.1配置fortigate的wan1接口IP为100.100.100.2/24VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.2101.2配置访问互联网的缺省路由1.3配置访问互联网的安全策略2.配置与Paloalto防火墙的IPSECVPN。

weixin_44675999的博客 3738

css 标题文字前面加小图标,如何使它们不错位?

两种方法: 一、把小图片当做h3的背景来调即: .menubar h3{font-size: 14px; font-weight: bold; text-align: left; margin:0;background:url(123.jpg) no-repeat left center;padding-left:图片的宽度;}; 二、加上使图片绝对居中; 推荐第一种情况,如果

aa2635aaa的博客 5574

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

TDR阻抗会爬坡? 别担心,不是你的错,你只是不够了解TDR!

TDR除了可以单靠一个Port就得到通道的阻抗外,其实也可以拿来计算传输线的Delay,或是两两对象之间的距离,甚至是拿来求得等效介电常数!

jkh920184196的博客 2159

使用CSS在文字前面加上图标。

#noticeIcon { padding: 0px 0px 0px 23px; background-image: url(pages/images/point/notice_icon.gif); background-repeat:no-repeat; color:#FF0000; margin-left:0.33em; }   使用padding (上右下左) 使文字相对图片

sun0322 2万+

【EtherCAT实践篇一】TwinCAT 3安装、使用

FULL(XAE)安装包:包含了XAR的功能,并能进行多种语言的编程和硬件组态,通常安装在编程电脑上;XAR安装包:包含了ADS的功能,是实时运行环境,对 TwinCAT 模块进行加载、执行、管理、实时运行与调用,通常安装在PLC中;RM安装包:在装了高版本的TwinCAT 3后,发现PLC中的TwinCAT版本较低,就需要安装相应低版本的RM安装包切换版本使用(注:4024无法使用RM安装包切换到低于4022的版本,如4020/4018/4016版本。

JXES智能生态系统 5125

html--css排版--float(浮动排版):块级元素(占据父容器的一整行)在一行中显示、文字围绕图片进行摆放、父元素高度塌陷的问题( 浮动元素的清除 属性 clear<伪元素、标签的使用>)1

html--css排版--float(浮动排版):块级元素(占据父容器的一整行)在一行中显示、文字围绕图片进行摆放、父元素高度塌陷的问题( 浮动元素的清除 属性 clear)1

weixin_47295886的博客 1800

【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)

OpenSSL 是一个开源的软件库,它提供了一系列加密工具和协议,主要用于实现安全通信,如在网络上的数据传输。它支持多种加密算法,包括对称加密、非对称加密、散列函数、伪随机数生成器、数字签名、密钥交换以及证书管理等。

嵌入式技术开发 4161

教你如何阅读Autosar代码(6):常量变量定义

编译器抽象应该为常量的声明和定义定义CONST宏。编译器抽象应该定义VAR宏来声明和定义变量。memclass:常量本身的分类;memclass:变量本身的分类;vartype:变量的类型;type:常量的类型;

wdconan001的博客 958

CSS——灵活布局 float (浮动属性)

目录 浮动概述 浮动定位 float属性 clear属性 float与overfloat ————*注释:摘自 W3C、赵老师的ppt 第一部分1. 浮动概述浮动定位是指(特点) - 将元素排除在普通流之外,即元素将脱离标准文档流 - 元素将不在页面占用空间 - 将浮动元素放置在包含框的左边或

ALLEN的博客 2102

【目录】专栏文章导航

从最强工具链Davinci Configurator模块学习出发掌握AUTOSAR

weixin_47571898的博客 3295

html中的float属性,css float属性 图解float属性的点点滴滴

正确使用CSS的float属性可能会变成一项艰巨的任务,它涉及内容过多,浏览器兼容性问题也很多。它的定位不仅涉及包含块,还涉及到了行框,块框,还有行内框等内容。本文包含的实施例的应用属性float说明性例子,以及一些失误。“float”是什么?CSS中的某些元素是块元素,例如,如果你把两个段落标记为P,那么他们将被放置在两行,。自己各占一行,如何向显示一行的话可以为元素使用inline属性来在页...

weixin_36260323的博客 577

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

float属性html,详解CSS样式中的float属性

详解CSS样式中的float属性。float是 css样式的定位属性。我们在印刷排版中,文本可以按照需要围绕图片。一般把这种方式称为“文本环绕”。在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图片一样。浮动的元素仍然是网页流的一部分。这与使用绝对定位的页面元素相比是一个明显的不同。绝对定位的页面元素被从网页流里面移除了,就像印刷布局里面的文本框被设置为无视页面...

weixin_42347465的博客 678

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

css中float使用条件,css中的float属性的一些使用方法

本篇文章给大家带来的内容是关于css中的float属性的一些使用方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。在CSS浮动中,元素浮动后将自动转为块级元素,可以移动到当前行的左侧或右侧,切记没有浮动到中间的概念,所以记住只会浮动到两侧。float:leftfloat:rightfloat:none浮动元素一定要设置宽度,否则后果不可预计——除了图片,因为它们有隐含的宽度。5个...

weixin_29505121的博客 527

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

CSS中的float和clear属性

CSS中的float和clear属性 2008-04-29 15:39 页面design中,用CSS控制布局时float与clear属性的运用至关重要,一定要理解清楚。下面用...

a38679的博客 251

对CSS中的Position、Float属性的一些深入探讨

如果要掌握、运用好Position、Float属性必须要对HTML的两个基本点有清晰的了解。 盒子模型(box model) HTML的普通流(normal flow) 盒子模型 在HTML中元素的盒子模型分为两种:块状元素、行内元素,请注意这里的块状元素(Block)和行内元素(Inline)与Display属性中的inline、block两个属性值并不等同。盒子模型中...

dihuanchan5686的博客 130

【CSS】【overflow】css中的float属性

天天向上 Up Up Up (*^▽^*) 601

对CSS中的Position、Float属性的一些深入探讨(转载)

对CSS中的Position、Float属性的一些深入探讨 对于Position、Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不清晰的地方。本文主要对这两个属性使用上的一个介绍以及两个属性交叉使用上的一些探讨。 本文主要探讨点: Position、Float属性的基本使用方法 Position、Float...

272

CSS布局中的几个重要属性,width,height,margin,padding,float,position

首先来看看CSS中的盒子模型,如下图: 我们可以把它想像成现实中上方开口的盒子,然后从正上往下俯视,边框相当于盒子的厚度,内容相对于盒子中所装物体的空间,而填充呢,相当于为防震而在盒子内填充的泡沫,边界呢相当于在这个盒子周围于其他物品要留出一定的空间。是不是这样就很容易理解盒模型了。 所以整个盒模型在页面中所占的宽度是由左边界+左边框+左填充+内容+右填充+右边框+右边界组成,而css样式

交换一个思想,能得到俩思想 3621

《四》CSS 中的 float 属性

CSS 的定位机制有 3 种:文档流(普通流、标准流)、浮动和定位。文档流:一个网页内标签元素按照从上到下、从左到右的顺序排列,块级元素会独占一行,行内元素会按顺序依次前后排列。未脱离文档流,即浏览器按照 dom 结构从上而下,从左而右对页面进行渲染时,某元素按照顺序出现在页面中。脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位。脱离文档流的方法:浮动、绝对定位、固定定位。浮动最早用来控制图片,以实现文字环绕图片的效果。

花铛 452
上一篇: CSS中的position属性
下一篇: Java比较器(Comparable、Comparator)
小CC哥
博客等级 码龄11年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值