繁体   English   中英

IE7不尊重显示:阻止<ul> <li> <a>

[英]IE7 not respecting display: block on <ul> <li> <a>

我正在尝试使用以下HTML标记进行简单的垂直导航:

<ul>
    <li><a></a></li>
    <li><a></a></li>
    <li><a></a></li>
</ul>

尽管有display: block; <li><a>元素上,IE7似乎不尊重包含div的整个宽度。 关于这个的任何想法?

http://jsfiddle.net/6eKGL/

IE7 vs IE8 +

UPDATE

我现在相信这个问题与容器div的position属性以及它的宽度由<a>元素内部的内容决定的事实有关。

以下是解决IE-7问题的更新小提琴。 http://jsfiddle.net/6eKGL/35/

演示: http//jsfiddle.net/6eKGL/35/embedded/result

CSS:

#ajax-search ul li a {
    display: block;
    /*min-width: 150px;*/ // Remove this rule and the IE-7 will start respecting the display block
    padding: 9px 18px;
}

请参见下面的IE-7截图

在此输入图像描述

设置overflow: hidden<li>元素上为我做的伎俩!

尝试在你的html中添加一个doctype,最好是html5或xhtml 1.0 strict。 这样,IE7以标准模式呈现,而不是使用它自己的盒子模型。

另外,使用css重置。 谷歌为“埃里克梅耶重置”。

引用:

http://www.quirksmode.org/css/quirksmode.html

http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/

http://en.wikipedia.org/wiki/Quirks_mode

更新:

看到这个小提琴: http//jsfiddle.net/6eKGL/23/

设置overflow:hiddenUL和一些宽幅 http://jsfiddle.net/sergeir82/N2thx/

从“#ajax-search ul li a {display:block; padding:9px 18px; min-width:150px;}”中删除“min-width”后尝试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM