0

0

css float的详细讲解(附实例)

不言

不言

发布时间:2018-10-16 15:36:32

|

2772人浏览过

|

来源于segmentfault思否

转载

本篇文章给大家带来的内容是关于css float的详细讲解(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

div+css布局,是前端开发人员的核心技能,在工作中占很大的比重。良好的前端布局是进行javascript书写和互的基础,足见布局的重要性,今天我们就讲讲css布局的基石-float。可以说,没有浮动,就谈不上布局了。

1、float的产生

互联网产生从一开始到日渐壮大,期间借鉴了大量印刷排版的理念和技术,比如一开始互联网的发明,就是将文档电子化互相链接。

而后的table布局的发明,也是印刷专家完成的,直到css出现,依然可以看到印刷的影子,当然这也无可厚非,比如float的出现就是为了应对图文并茂的排版出现的。

立即学习前端免费学习笔记(深入)”;

下面传统的印刷排版常见的布局-文字环绕,就是float的常见应用场景之一。

2138131329-5bc552b006702_articlex.png

我们看看如何实现,





    
    
    
    JS暗黑编年史
    



    

@@##@@ 在一个一个炎热的下午,大家注意,一定要是炎热的下午,为什么要是炎热的下午呢,因为天气一热,人就容易烦躁,人一烦躁就不想工作,不工作就想看片儿(注意看片儿不是看电影),但是你知道的越看片儿越烦躁,正在这个时候老板娘进来来了,对js的作者布莱登·艾克说,小艾啊你看我们用猫上网的时候用户名密码填错了结果等一两分钟返回结果的时候才知道是错了,你看你能不能搞一个程序让我在请求之前就知道我写错了,其实小艾心里不想搞,但是大家都懂的,老板好拒绝,老板娘的需求是不好拒绝的,所以布莱登艾克心想赶紧随便糊弄一下算了,片儿还没看完呢,所以他就用了8天半(官方说)10天,其实另外的一天半被他用来看片儿了。大家懂的,你看片儿的时候有心思写代码吗?所以js的bug如山一样多,这个我们以后说。

2.float的经典场景

除了上面的经典用法之外,float还有几个更复杂也更通用的场景,首先是整站布局。

css float的详细讲解(附实例)

代码如下,





    




    

    

    

js暗黑编年史

在一个一个炎热的下午,大家注意,一定要是炎热的下午,为什么要是炎热的下午呢,因为天气一热,人就容易烦躁,人一烦躁就不想工作,不工作就想看片儿(注意看片儿不是看电影),但是你知道的越看片儿越烦躁,正在这个时候老板娘进来来了,对js的作者布莱登·艾克说,小艾啊你看我们用猫上网的时候用户名密码填错了结果等一两分钟返回结果的时候才知道是错了,你看你能不能搞一个程序.

还有类似淘宝的商品布局也很普遍,

434966047-5bc5530017602_articlex.png

实现代码如下,




    
    
    
    Document
    


    

我是标题

我是一段描述的文字我是一段描述的文字我是一段描述的文字我是一段描述的文字

3.float的常见问题

1.宽度不够,会挤下来

Figstack
Figstack

一个基于 Web 的AI代码伴侣工具,可以帮助跨不同编程语言管理和解释代码。

下载



    
    
    
    Document
    


    
左侧

解决:




    
    
    
    Document
    


    
左侧

如图所示,大家会发现其实外层div的高度没有撑开,这里我不想解释原因,扯什么BFC啦,文档流啦,为什么?

编程就像学习骑自行车,你看过别人怎么骑车,也知道踏板是用来蹬的,车座是用来座的,车把是用来掌握方向就够了,你没必要从一开始研究:

山地车30速对应的是:这个山地车的变速套件是由3片式牙盘和10片式飞轮组成,可以变换30种传动比,也就是齿比。详细的解释是:前面牙盘有三个盘,后面飞轮有10个,3x10就是30速,如果后面有9个飞轮就是27速,速别就是前面的盘的数量乘后面轮的数量,一般情况下前面都是三个盘,主要差距在于后面的小飞轮,常见的速别有18、21、24、27、30。

毕竟你不可能一开始学骑车就想着将来成为秋名山车神。

即使你学会这些,对于你学习骑车没有什么帮助,就像你即使知道了高度没有撑起来是因为没有触发BFC,就算是你知道了文档流和常规流,知道了float的默认值是none,对于你能流畅的布局有多少帮助呢?

我不是否认这些知识的价值,是要让你懂得轻重缓急。毕竟如果你连最基础的float布局都写得磕磕绊绊,你研究那些有什么意义呢?先把典型的布局记住,学会,用熟,然后再聊其他的。继续第二个问题,

2.高度不够,直接一句话,记住就好




    
    
    
    Document
    


    
左侧

其实就一句话,

overflow: hidden;

先记住就好,等你长大了就明白了。

说第三个问题,

明显footer位置不对,这是一个特性,float后面的元素会自动跟随,并尽量靠上靠左。问题是明显footer是不愿意跟着右侧元素混的,他应该在下面。咋弄?清除浮动。





    
    
    
    Document
    



    
左侧

注意,这里在left和right外面包了一层div,然后添加了class

        .clearFix:after {
            content: '';
            display: block;
            clear: both;
        }

        .clearFix {
            zoom: 1;
        }

这里你不会都没关系,先记住会用就好。记住代码就像骑自行车,骑得多了自然就知道怎么骑了,熟练了以后再去骑山地车,公路车,入门就会很快。

464019908-5bc5532c3ec33_articlex.png

相关专题

更多
js获取数组长度的方法
js获取数组长度的方法

在js中,可以利用array对象的length属性来获取数组长度,该属性可设置或返回数组中元素的数目,只需要使用“array.length”语句即可返回表示数组对象的元素个数的数值,也就是长度值。php中文网还提供JavaScript数组的相关下载、相关课程等内容,供大家免费下载使用。

557

2023.06.20

js刷新当前页面
js刷新当前页面

js刷新当前页面的方法:1、reload方法,该方法强迫浏览器刷新当前页面,语法为“location.reload([bForceGet]) ”;2、replace方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL,语法为“location.replace(URL) ”。php中文网为大家带来了js刷新当前页面的相关知识、以及相关文章等内容

395

2023.07.04

js四舍五入
js四舍五入

js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。php中文网为大家带来了js四舍五入的相关知识、以及相关文章等内容

756

2023.07.04

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

479

2023.09.01

JavaScript转义字符
JavaScript转义字符

JavaScript中的转义字符是反斜杠和引号,可以在字符串中表示特殊字符或改变字符的含义。本专题为大家提供转义字符相关的文章、下载、课程内容,供大家免费下载体验。

494

2023.09.04

js生成随机数的方法
js生成随机数的方法

js生成随机数的方法有:1、使用random函数生成0-1之间的随机数;2、使用random函数和特定范围来生成随机整数;3、使用random函数和round函数生成0-99之间的随机整数;4、使用random函数和其他函数生成更复杂的随机数;5、使用random函数和其他函数生成范围内的随机小数;6、使用random函数和其他函数生成范围内的随机整数或小数。

1071

2023.09.04

如何启用JavaScript
如何启用JavaScript

JavaScript启用方法有内联脚本、内部脚本、外部脚本和异步加载。详细介绍:1、内联脚本是将JavaScript代码直接嵌入到HTML标签中;2、内部脚本是将JavaScript代码放置在HTML文件的`<script>`标签中;3、外部脚本是将JavaScript代码放置在一个独立的文件;4、外部脚本是将JavaScript代码放置在一个独立的文件。

659

2023.09.12

Js中Symbol类详解
Js中Symbol类详解

javascript中的Symbol数据类型是一种基本数据类型,用于表示独一无二的值。Symbol的特点:1、独一无二,每个Symbol值都是唯一的,不会与其他任何值相等;2、不可变性,Symbol值一旦创建,就不能修改或者重新赋值;3、隐藏性,Symbol值不会被隐式转换为其他类型;4、无法枚举,Symbol值作为对象的属性名时,默认是不可枚举的。

554

2023.09.20

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.8万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 9.7万人学习

前端开发(基础+实战项目合集)
前端开发(基础+实战项目合集)

共60课时 | 3.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号