我一直在尝试对我网站上的导航进行故障排除。(sequoiawaste.com)iPhone和Internet Explorer 7会出现问题。我使用 display:table-cell;
CSS 属性将选项卡保持在一行中。但是,似乎存在两个问题:
1)在移动设备(特别是iPhone,但不包括iPad)上,该行延伸到蓝色背景之外,并笨拙地隐藏了我的页面的搜索功能。
2)在IE 7上,它忽略了display:table-cell;
,实际上垂直定向链接,类似于table-row
创建的链接。
据我所知,在增强版中只有少数属性定义#globalnav
。可能导致问题的 CSS 文件。
我注意到的是,显示值因状态而异 - 从表格到表格单元格,再到块。更改它们中的任何一个(或将它们全部更改为同一显示器)只会使我的问题变得更糟。
有没有人对这里做什么有一些指示?我不认为这是一个非常困难的问题,我只是在这里碰壁。
**更新**
我开始使用float:left
,但这是一把双刃剑 - 它看起来更好,但为了获得类似的格式,我必须将每个锚点设置为特定的宽度。现在,当您单击我的搜索栏时,它不会动态调整锚点的大小。
嘿,有什么提示吗?
尝试float: left
- 这有更好的跨浏览器支持。 您还需要设置每个项目的宽度,也许还需要设置一些其他属性以使其再次看起来不错。
编辑:是的,使用float: left
将导致您的导航元素停止单独调整大小。 如果不使用浏览器的表格布局算法,这可能很难做到。 您还可以尝试其他几种方法:
- 对搜索栏宽度进行动画处理
- 时,还要同时对所有导航项的宽度进行动画处理(但这可能会很慢)
- 实际使用表格(这不是标记和表示的良好分离,但有时CSS是有限的)
- 使用条件注释"诱骗"IE呈现表(请参阅 https://stackoverflow.com/a/4193681/106302)以获取详细信息(但这不能解决移动设备的问题)
根据您选择的方法,您可能仍需要为移动设备提供特殊规则。 我喜欢这种效果,但使用不同的设计可能更实用。