Html IE8和IE9之间的布局差异

Html IE8和IE9之间的布局差异,html,css,internet-explorer-8,internet-explorer-9,Html,Css,Internet Explorer 8,Internet Explorer 9,我有一个站点()在IE8及以下版本中没有正确呈现 在IE8中有: 在IE9和其他方面: 如您所见,搜索框已从右上角移动到错误的位置。 搜索框的html为: <div id="header"> <img src="/media/header_images/ts-hutton_2.jpg" title="Victorian Paintings at James Alder Fine Art" alt="Victorian Paintings at James Alder

我有一个站点()在IE8及以下版本中没有正确呈现

在IE8中有:

在IE9和其他方面:

如您所见,搜索框已从右上角移动到错误的位置。 搜索框的html为:

<div id="header">
    <img src="/media/header_images/ts-hutton_2.jpg" title="Victorian Paintings at James Alder Fine Art" alt="Victorian Paintings at James Alder Fine Art" "="">
    <form id="search-form" action="/search">
             <label id="search-label">Search the Site</label>
             <input type="image" src="/static/images/sign-up.gif" value="search" id="search-button">
             <input type="text" name="q" id="search-input">
    </form>

</div>
IE9对表单上的CSS有什么问题吗?我应该把它放在沙发上吗

至于下面决定不再漂浮的图像,我不知道

关于让站点在IE的旧版本中运行,是否有任何最佳实践或良好资源,或者我应该只使用条件吗?

这可能是由
引起的

元素放入div中

<div id="header">
    <img src="..."/>
    <div id="search-form">
        <form action="/search"></form>
    </div>
</div>


请试试这个。

它实际上是由格式错误的html引起的。我有这样的标签:

<img src="/media/homepage_images/all-paintings-sale.jpg" 
     alt="All Victorian Paintings for Sale" 
     title="All Victorian Paintings for Sale" ">

注意结尾处的“文本”,这导致后面的所有内容都被视为文本。
奇怪的是,IE9和其他所有东西都自动修复了错误,但IE8和以下版本没有。这并不特别奇怪。浏览器历史上以不同的方式处理HTML错误,因为直到最近错误处理才在HTML中标准化。
<img src="/media/homepage_images/all-paintings-sale.jpg" 
     alt="All Victorian Paintings for Sale" 
     title="All Victorian Paintings for Sale" ">