博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Web前端] 给li设置float浮动属性之后,无法撑开外层ul的问题。
阅读量:5763 次
发布时间:2019-06-18

本文共 847 字,大约阅读时间需要 2 分钟。

cp from : 

最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查了相关内容,是因为给li设置了浮动之后它就脱离当前正常的文档流,所以没办法撑开外层ul的高度。

以下面代码为例,其实有好几种解决方法,我用的这种并不是最简单的。

给li设置float浮动属性之后,无法撑开外层ul的问题。
  • 星期一
  • 星期二
  • 星期三
  • 星期四
  • 星期五
  • 星期六
  • 星期天

 

以上代码显示结果如图,ul的边框变成了一条线,没有被撑开,

可是我期望的效果是这样的:

如果ul里边的内容是固定的,给ul加上高度就可以解决问题,但是遇到的项目中li是动态生成的,个数不能确定,所以高度只能设置成auto,这时候其实只要给外层ul也加上浮动属性就可以解决问题,但有时候布局会受到影响,只能根据情况而定;另外给ul加上overflow:auto/hidden也可以解决问题,如果要兼容ie6,后面加上"zoom:1"或者"width:100%"即可。

最后再总结一下,总共有4种方法:

第1种方法:在html代码里边给最后一个li后面加空元素清除浮动,div可以换成p或者其他。具体如下图:

第2种方法:给ul设置固定的高度。具体如下图:

第3种方法:给ul设置overflow属性,也可以是overflow:hidden。具体如下图:

第4种方法:给ul加浮动属性,可以换成float:right,但是很有可能布局就会收到影响。具体如下图:

每个人用的方法应该都不一样,我觉得第三种方法最简单,以后就用这种。哈哈,这会下班回家~~

转载于:https://www.cnblogs.com/0616--ataozhijia/p/9258089.html

你可能感兴趣的文章
offset的坑 使用前要将对象先show
查看>>
TCP与UDP在socket编程中的区别 (网络收集转载)
查看>>
Micropython TurnipBit 电子时钟 青少年编程入门
查看>>
2018 Multi-University Training Contest 4-Problem B. Harvest of Apples
查看>>
使用JSF框架过程中的若干典型问题及其解决方案
查看>>
UML类图-聚合和组合的区别
查看>>
Java中如何解析XML文件
查看>>
Android命名规范(自定义)(转载)
查看>>
SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
查看>>
C#<热血传奇>服务端源代码再次给力更新
查看>>
html body上有一条空白!!!
查看>>
<Wireshark>的安装及使用
查看>>
如何去克服害怕
查看>>
爬虫小示例
查看>>
SDWebImage解析
查看>>
正则表达式
查看>>
大文件上传工具plupload
查看>>
Connect the Cities(prim)用prim都可能超时,交了20几发卡时过的
查看>>
刷题---算法
查看>>
【java工具】AES CBC加密
查看>>