html - display:inlineを含むHTML liタグがIE7でブロックとして表示される

html css inline block html-lists

水平な順序なしリストのあるナビゲーションバーを作成しました。これは、リストアイテムがブロック要素として表示されているように見えるIE7を除いて、すべてのブラウザーで正常に表示されます。次に、CSSを含むHTML出力を示します。

<!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>


どんな助けでも本当に感謝しています。
答え
問題は、float: right;セレクターの#nav ul li aプロパティです。それを削除すれば動作します。 IE7互換の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;
    }
関連記事

html - IEの頭痛-CSS:first-childセレクターが機能せず、Google Web Fontsを使用した奇妙な動作

android - 多数のテキスト行とスタイルを持つEditTextで2Dスクロールを有効にします

html - CSS / HTML:IE9 + jsFiddleの配置の問題

html - <TD>セルに背景画像が表示されない

html - cssでメニュー項目の幅を自動的に計算する

php - php / htmlにフレームのような構造を作成しますか?

html - GoogleマップとHTML 5 GeoLocationから国コードを取得する

javascript - SQLite openDatabaseで複数のデータベースを作成する

html - <span> + <sup>改行が原因で間に空白がある

html - 含むdivの背景色がページ全体に表示されないのはなぜですか?