刚学习的时候,看网上的教程,
使用的是ul标签来做,但是慢慢做了之后发现了很多问题。。
1.各个浏览器之间兼容ul差异很大。
2.使用ul很不灵活,更改一个li,可能就会更改ul,因为是放在一起的
随后想了其他方法,使用
,内部的div比外部的大,这样的话鼠标移动到外部div时
显示内部的div ,但是这种溢出的做法在IE6中根本不行,只要内部的div比外部的尺寸大
外部的div就一定会被撑开,也就是扩大到和内部div一样的尺寸,不让内部div溢出。
随后想了想,把内部div溢出的方法 改成了相对定位的方法 溢出,这样外部div绝不会被撑开。
经过IE6~10,FF,safari,chrome,opera测试,没有问题。。
个人感慨,虽然对CSS的各种属性都很了解,但是一定要实际操作才会发现很多的问题,
以前只测试一个浏览器,感觉没什么问题,但是做了浏览器兼容性测试之后发现,方法
具有局限性啊,网上的教程也是人写的,放到不同浏览器里面运行后,显示的结果也是
不同的。。 看了 很多下拉菜单都是用
做的,但是实际上我真心不喜欢用这个做。。
还是div最好,最通用。
回复讨论(解决方案)
我发觉IE6真的很坑爹啊,问题都出在IE6上。。大部分浏览器都能通过的
偏偏IE6。。。莫非真的该被淘汰了?
EN ie6的寿命 还有400多天 .其实ul做 菜单 很简单啊 ,跨浏览器 也很容易解决的 。
把内部div溢出的方法 改成了相对定位的方法 溢出,这样外部div绝不会被撑开。你这句话的思想 其实 让 内部元素 失去布局,这样就不会撑开外表的元素了。