html – Safari 5.1打破CSS表格单元格间距

我的网站在所有主流浏览器上运行良好,直到更新到Safari 5.1.现在,主导航被破坏了.我在list元素中的anchor元素上使用display:table-cell,并且还使用了font-size:0 hack来删除菜单元素之间的间距.有没有其他人遇到过这个问题,并有一个他们可以提供的解决方案?

之前:

Before Image

后:

After Image

CSS:

#navigation {
  padding-top: 7px;
}

#navigation ul.links,/* Main menu and secondary menu links */
#navigation .content ul /* Menu block links */ {
  margin: 0;
  padding: 0;
  display: block;
  font-size: 0; /* this is a hack so that the spacing between the menu buttons disappear
                   since they are inline-block elements,this should be unneccessary when
                   CSS3 is approved */
}

#navigation ul.links li,/* A simple method to get navigation links to appear in one line. */
#navigation .content li {
  display: inline-block;
  padding-right: 0;
  padding-left: 0;
  margin: 0;

  /* below is a fix for IE7 to get the main navigation items lined up correctly
   * in one row
   */
  zoom: 1;
  *display: inline;
}
#main-menu ul {
  width: 100%;
}
#main-menu li {
  width: 108px;
  text-align: center;
  padding-bottom: 7px;
  font-size: 11pt;
}
#main-menu a {
  display: table-cell;
  width: inherit;
  text-decoration: none;
  font-size: 0.9em;
  color: #035B9A;
  background-color: white;
  height: 30px;
  vertical-align: middle;
}

HTML:

谢谢.

请注意,这是一个Drupal 7站点.

我也自由而谦卑地承认我不是最好的CSS标记.我现在正在学习很多东西,而且我只是想凑进去.

最佳答案
对于那些遇到Safari问题的人和要显示的元素的尺寸:table;我能够通过删除填充并将padding添加到要显示的子元素集来解决我的问题:table-cell;

显然,当您尝试将padding添加到要显示的元素集时,Safari不喜欢它:table;回想起来,这是有道理的.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些