最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
二级菜单宽度不能自动适应宽度解决方法
时间:2014-01-07 编辑:简简单单 来源:一聚教程网
如题,这个问题已经遇到好几次了~之前都是偷懒,给二级菜单的部分加了一个定宽,如:
HTML 代码
代码如下 | 复制代码 |
|
CSS代码:
代码如下 | 复制代码 |
ul.nav li { display: inline-block; position: relative; float: left; padding: 0px 10px; } |
有看到“/**/”吗?这个是不行的,像导般这一块的链接也是可以后台的管理,如果这样写死,那就不做到自动,会有的长,有的短。
今天交流了一下,找到了问题点:是由于“dl.sub-nav”里有个“position: absolute”的属性定义,它让“dl.sub-nav”以下的元素“float”属性失效,所以它的子元素,就不会按“float”定义的来,排成一排。尽管此时的“dl.sub-nav”定义的是“display: block;”还是“display: inline-block;”,它都不会有一个宽度的增加。除非,你给它事先加上一个定宽,就像:
代码如下 | 复制代码 |
width: 200px; |
这不是我想要的效果~于是乎,既然事先给它定一个宽就可以,那么在页面加载完我用JS代码去计算出它的真实宽,再去定义一下不就OK了?思路是这样~
放上JS代码:
代码如下 | 复制代码 |
$(function(){ |
注意:这段计算代码对显示的元素才有效,如果你做了二级菜的效果,刚开始的时候隐藏了,那么计算出来的结果不是正确的,需要跟那个效果代码结合,鼠标放上链接再去之后再计算。
-
下一个: EditPlus中利用自用正则替换字符串
相关文章
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31
- 使用HTML截图并保存为本地图片的代码展示 10-31