在更新到 Safari 5.1 之前,我的网站在所有主要浏览器上都运行良好。现在,主要导航已失效。我正在使用display:table-cell
在列表元素内的锚元素上,并且还使用了font-size:0
hack 删除菜单元素之间的间距。有其他人遇到过这个问题并可以提供解决方案吗?
Before:
After:
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:
<div id="navigation">
<div class="section">
<h2 class="element-invisible">Main menu</h2>
<ul id="main-menu" class="links inline clearfix">
<li class="menu-379 first"><a href="/about-scrubbed">About Us</a></li>
<li class="menu-401"><a href="/" title="">Research</a></li>
<li class="menu-385"><a href="/education">Education</a></li>
<li class="menu-402"><a href="/" title="">Outreach</a></li>
<li class="menu-403 active-trail active"><a href="/news" title="" class="active-trail active">News & Events</a></li>
<li class="menu-439"><a href="/people">People</a></li>
<li class="menu-405"><a href="/" title="">Resources</a></li>
<li class="menu-406"><a href="/" title="">Publications</a></li>
<li class="menu-415 last"><a href="/partners">Partners</a></li>
</ul>
</div>
</div>
Thanks.
请注意,这是一个 Drupal 7 站点。
另外,我坦率且谦虚地承认,我在 CSS 标记方面并不是最擅长的。我现在正在学习很多东西,只是想勉强度日。
对于那些在 Safari 和元素尺寸设置为 display:table; 时遇到问题的人我能够通过删除填充并将填充添加到设置为 display:table-cell; 的子元素来解决我的问题。
显然,当您尝试向设置为 display:table; 的元素添加填充时,Safari 不喜欢它;回想起来,这是有道理的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)