首先我们要认识浮动,浮动的目的,它起到了什么关键性作用,下面我将对浮动的理解进行分享! 在css中,我们通过float属性实现浮动
- float(浮动)的属性:
float:left 【左浮动】
right 【右浮动】
none 【取消浮动】
浮动的目的是什么
- 简单来说就是让竖着的元素横着来
- 前提必须是块级元素,我们都知道块级元素在默认情况下都是独占一行的(不知道的童鞋要被老师打屁股了啊)
浮动案例实战,源码及效果图看下边
- 未添加浮动的案例
HTML
![00a44456575cc34d3b456419d05fc6d8.png](https://i-blog.csdnimg.cn/blog_migrate/3dd15577334ad19f8ffa478fd157b724.png)
CSS
![2f133764fea587bd54a0aa948ffa0c42.png](https://i-blog.csdnimg.cn/blog_migrate/842f15bfed43ed2ed2a122fc50b0eb27.png)
网页效果
![257074372d52fd652408c8d077e0950d.png](https://i-blog.csdnimg.cn/blog_migrate/07e93f3347c9663d14e0c67132740c34.png)
为了让大家可以清楚的看到添加浮动的效果,下面我要给三个小的div套上一个大的div,并设置宽高和一个黑色边框
1、添加左浮动的案例
HTML
![a82936133cab7de918a6283b5fb36b9c.png](https://i-blog.csdnimg.cn/blog_migrate/c44c34b6ae6ccadd1abc1bf832d59c60.png)
CSS
![5e44e6f7ac1d763804b4a108b4b531ef.png](https://i-blog.csdnimg.cn/blog_migrate/6352cac2980c460f03c5a34557215482.jpeg)
网页效果
![b484a5f66dbe3a86a329a479daf67fea.png](https://i-blog.csdnimg.cn/blog_migrate/76f431da968971463bbb29f83c5711ab.png)
2、添加右浮动的案例
HTML
![b980ef6f5e7e298357a6c536c18aaf8d.png](https://i-blog.csdnimg.cn/blog_migrate/97a5002761b9bac9c4729594969910c3.png)
CSS
![7c17d499fc924508a1e6b3d84116b05f.png](https://i-blog.csdnimg.cn/blog_migrate/3a73afd5c9a76d65229a157a5c0412e3.jpeg)
网页效果
![62417adcbf22dd934982ed973e5dadc3.png](https://i-blog.csdnimg.cn/blog_migrate/caf801f37893d9b17bce518329bb2946.png)
3、取消浮动(float:none;)
"取消浮动"的意思说白了就是恢复原状,继续应用块级元素本身的特质,独占一行
下面来说一些因操作不当产生的浮动问题
1、当父级元素的宽度小于浮动子元素的总宽度,子元素将被迫换行
HTML
![8d2974b5e6b7a8ee81d3801328710fa8.png](https://i-blog.csdnimg.cn/blog_migrate/78dc43719c86ba9ca5b61c63aa0b7bf3.png)
CSS(减小父元素box的宽度)
![eab7c24918889b7350f4362ea6eb0247.png](https://i-blog.csdnimg.cn/blog_migrate/4029e7dade09bb7e1aed23b62b77a735.jpeg)
网页效果(大div的宽度不足以支撑三个小div的宽度,所以将被迫换行)
![77b3855b160c2b27b6088bcf5eca0d88.png](https://i-blog.csdnimg.cn/blog_migrate/f3eb0ee558d815b8158a163101ceb227.png)
2、高度塌陷,造成重叠效果
HTML
![f3dc597e2b70dfbe068685462643515a.png](https://i-blog.csdnimg.cn/blog_migrate/4d95e1f0c89f37f68330cbbbfe6802b3.png)
CSS(只给一个子集添加浮动,其它的浮动被注释,效果如下)
![f440b9b9482f556ce1fd57ed509ba8ff.png](https://i-blog.csdnimg.cn/blog_migrate/229a05fcc0e84bb4f03d43576e3e3b46.jpeg)
网页效果(只给一号盒子添加浮动,2号盒子将与1号盒子进行重叠)
![fbde24428a3145bb349d3719846b5253.png](https://i-blog.csdnimg.cn/blog_migrate/2245799a222e5ab0bcff3bc49d5a46e1.png)
3、图文混排(既有图片又有文字的情况)
HTML
![8f50e3a0797dffbada3c76272111d3f5.png](https://i-blog.csdnimg.cn/blog_migrate/58bbf14d8c335f53afc9def53877c5f5.jpeg)
CSS
![d34bc440e1b2c55993d9a83abf7268aa.png](https://i-blog.csdnimg.cn/blog_migrate/650d513887432186071cea6dfe41c10e.png)
网页效果(进行浮动的盒子,周围的文字将对它产生环绕的效果)
![d47797ea9cbf1dd298c34c4e2b9e337f.png](https://i-blog.csdnimg.cn/blog_migrate/3b88489fb9070b485dd6a5d98c720a00.jpeg)
浮动总结:
1、左浮动找左边,右浮动找右边
2、浮动只影响后面的元素,不影响前面的元素
3、父级元素的宽度小于浮动子元素的总宽度,子元素将被迫换行
4、子元素高度不一致的浮动元素被迫换行时可能被卡住
5、结构先写的先浮动,后写的后浮动
6、图文混排
7、浮动产生的问题,父级元素高度坍塌
解决办法:给父元素添加高度