Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery在safari中显示/隐藏_Jquery_Safari - Fatal编程技术网

Jquery在safari中显示/隐藏

Jquery在safari中显示/隐藏,jquery,safari,Jquery,Safari,我创建了一个简单的导航栏,使用Jquery.show()和.hide()显示和隐藏按钮。在Firefox中查看时,它可以正常工作,但在Safari中查看时,每次隐藏/显示按钮时,它都会在导航栏中添加额外的空间 以下是示例:不要使用display:table和display:table单元格 Webkit(Safari和Chrome使用的渲染引擎)中似乎存在重新绘制的“bug”,这会导致display:table cell元素重新绘制错误。如果包含的div(带有display:table的div)

我创建了一个简单的导航栏,使用Jquery.show()和.hide()显示和隐藏按钮。在Firefox中查看时,它可以正常工作,但在Safari中查看时,每次隐藏/显示按钮时,它都会在导航栏中添加额外的空间


以下是示例:

不要使用
display:table
display:table单元格

Webkit(Safari和Chrome使用的渲染引擎)中似乎存在重新绘制的“bug”,这会导致
display:table cell
元素重新绘制错误。如果包含的div(带有
display:table
的div)被隐藏并随后重新显示,则项目将正确绘制

但是,当
display:table单元格
元素被隐藏并重新显示时,它以前的宽度会被计算回单元格的位置及其当前宽度,从而导致奇怪的行为

我建议使用百分位数宽度、
float:left
和默认显示。如果您想要表格,请使用表格。如果您想要避免表格,请避免表格并正确执行


Chrome中也有问题…问题源于样式规则
表布局:已修复;
中的
#navHolder