带有display的HTML li标签:inline在IE7中显示为块

时间:2012-01-23 00:20:52

标签: html css inline block html-lists

我创建了一个带有水平无序列表的导航栏。这在所有浏览器中都可以正常显示,除了在IE7中,列表项似乎显示为块元素。这是HTML输出,包括CSS。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <style>
        BODY
        {
            padding-top: 0px;
            padding-right: 0px;
            padding-bottom: 0px;
            padding-left: 0px;
            margin-top: 0px;
            margin-right: 0px;
            margin-bottom: 0px;
            margin-left: 0px;
        }
        #wrapper
        {
            width: 900px;
            margin-top: 0px;
            margin-right: auto;
            margin-bottom: 0px;
            margin-left: auto;
        }
        #headersection
        {
            top: 0px;
            width: 900px;
            height: 470px;
            position: absolute;
        }
        #headertop
        {
            height: 130px;
        }
        #nav
        {
            height: 70px;
            margin-top: 0px;
            margin-right: 0px;
            margin-bottom: 0px;
            margin-left: 0px;
        }
        BODY
        {
            color: #333333;
            font-family: Tahoma;
            font-size: 0.9em;
        }
        #nav
        {
            width: 600px;
            overflow: hidden;
            padding-top: 0px;
            padding-right: 0px;
            padding-bottom: 0px;
            padding-left: 0px;
            float: right;
            background-image: url("/images/headercastlenav.png");
            background-repeat: no-repeat;
            background-position-x: left;
            background-position-y: top;
        }
        #nav UL
        {
            padding-top: 0px;
            padding-right: 0px;
            padding-bottom: 0px;
            padding-left: 0px;
            margin-top: 0px;
            margin-right: 0px;
            margin-bottom: 0px;
            margin-left: 0px;
        }
        #nav UL LI
        {
            height: 70px;
            float: left;
            display: inline;
        }
        #nav UL LI.selected
        {
            filter: alpha(opacity=80);
            background-color: rgb(0, 51, 102);
        }
        #nav UL LI A
        {
            height: 70px;
            color: #006699;
            line-height: 70px;
            padding-top: 0px;
            padding-right: 10px;
            padding-bottom: 0px;
            padding-left: 10px;
            font-family: Calibri;
            font-size: 13px;
            text-decoration: none;
            float: right;
            display: block;
        }
        #nav UL LI A.selected
        {
            color: #fff;
            filter: alpha(opacity=100);
        }
    </style>
</head>
<body onload="">
    <form id="form1" action="" method="post" _events="[object Object]">
    <div id="wrapper">
        <div id="headersection">
            <div id="headertop">
                <div id="nav">
                    <ul>
                        <li class="selected"><a class="selected" href="/home">home</a> </li>
                        <li><a href="/How-we-help/Our-services">how we help</a> </li>
                        <li><a href="/How-can-you-help/Befriending/Become-a-volunteer-befriender">how can you help</a> </li>
                        <li><a href="/Funders/Our-funders">funders</a> </li>
                        <li><a href="/News-and-Events">news &amp; events</a> </li>
                        <li><a href="/Contact-us">contact us</a> </li>
                        <li><a href="/How-can-you-help/Donating-and-fundraising">donate</a> </li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
    </form>
</body>
</html>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

问题是float: right;选择器中的#nav ul li a属性。删除它,它会工作。我在IE浏览器兼容IE9的jsFiddle中试过它。

<强>更新 为了清楚起见,我注释了导致问题的声明(即/* float: left; */。删除float:left;声明,你就会好起来。

    #nav UL LI A
    {
        height: 70px;
        color: #006699;
        line-height: 70px;
        padding-top: 0px;
        padding-right: 10px;
        padding-bottom: 0px;
        padding-left: 10px;
        font-family: Calibri;
        font-size: 13px;
        text-decoration: none;
        /* float: left; */
        display: block;
    }