对于一个新项目,我使用 Bootstrap 3 和子菜单的 SmartMenus 插件。
我的问题是在 Chrome (第58页)上,带有子菜单的链接上的插入符号在加载时消失,子菜单在点击时显示而不是悬停,并且它们没有关闭当另一个人打开时。
我已经找到了这个问题的来源。课程.sm-collapsible
在加载时应用于我的ul.navbar-nav
元素。
但是,仅当ul.navbar-nav
元素在Chrome上有display:flex;
AND时才会应用它。我尝试使用display:table;
和display:table-cell;
重现我的布局,但它也无效。
所以这不是特别灵活的问题,但它来自布局,它会混淆JavaScript。
我不知道为什么或怎么可能。
您可以在此处查看在线版本:https://lesdeuxvagues.com/laloupe(悬停/点击目录查看问题)
提前致谢...我真的被困在这里。
编辑
我刚刚找到了添加.sm-collapsible
类的负责任的JS行。这是:
obj.isCollapsible = function() { return !/^(left|right)$/.test(this.$firstLink.parent().css('float'));};
它在Chrome上一直返回true(当显示:flex;未注释时),但仅适用于Firefox和Edge的移动设备。
答案 0 :(得分:0)
您可以尝试将CSS中的ul.navbar-nav
更改为display: block;
(您可以修改bootstrap.less:#header #navbar > ul { display: block; }
或在您自己的较少文件中覆盖它)或修改插件的JS寻找负责添加.sm-collapsible
并删除该操作的功能。
答案 1 :(得分:0)
我联系了该插件的编辑器,因为它似乎是插件编码方式的问题,现在已经修复了。显示:弯曲;不再造成问题了。
答案 2 :(得分:0)
这对我有用:
$string = '05/21/2018 ghijkl 10/12/2017 mnopqrst';
preg_split('/([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4})([a-zA-Z\s]+)/g', $string, $stringParts);
array (
0 => '05/21/2018',
1 => 'ghijkl',
2 => '10/12/2017',
3 => 'mnopqrst'
);
注意:obj.isCollapsible = function() {
return (!/^(flex)$/.test(this.$firstLink.parent().parent().css('display'))) && (!/^(left|right)$/.test(this.$firstLink.parent().css('float')));
};
必须位于display: flex