【问题标题】:Full width Bootstrap dropdown nav - Not working in Safari全宽 Bootstrap 下拉导航 - 在 Safari 中不起作用
【发布时间】:2015-05-05 02:54:17
【问题描述】:
我正在寻找一种方法来全宽显示“下拉导航”,幸运的是我找到了 topic,由 Bass Jobse 回答。
不幸的是,我发现了一个与 Safari 浏览器的兼容性问题。如下图所示,当我从菜单链接中移除鼠标时,下拉导航会停留在那里,就像“幽灵导航”一样。
此错误仅发生在 Safari 浏览器中,并且似乎与属性“位置:静态”有关,您可以在 Bootply 中验证。
请问有人可以帮我解决这个问题吗?
【问题讨论】:
标签:
css
twitter-bootstrap
safari
navigation
【解决方案1】:
Chrome 没有问题,但我发现其他 webkit 浏览器(使用 reconq 测试)确实有上述问题。
据我了解,问题如下:
当从.nav > li.dropdown 中删除open 类时,它的孩子得到:
position: relative(父母)display:hidden。前面的区域小于position: static(父)display:block的宽度。
所以当在打开/未打开之间切换时,Webkit 只会隐藏position: relative(父级)display:hidden 区域。
解决方案将position: static 应用于有和没有open 类的情况:
.nav > li.dropdown { position: static; }
.nav > li.dropdown.open .dropdown-menu {display:table; width: 100%; text-align: center; left:0; right:0; }
.dropdown-menu>li { display: table-cell; }
所以使用nav > li.dropdown { position: static; } 而不是nav > li.dropdown.open { position: static; }