0

我有一个网站 ( www.jamesalder.co.uk ) 在 IE8 及以下版本中无法正确呈现。

这是在IE8中: 在 IE8 中

在 IE9 和其他所有内容中: 在 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>

似乎它完全错过了以下 CSS,因为如果我禁用此 CSS,它具有相同的效果:

#search-form {
    position: absolute;
    right: 0;
    top: 0;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 3px;
}

IE9 在表单上的 CSS 是否存在某种问题?我应该把它放在一个div中吗?

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

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

4

2 回答 2

2

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

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

请注意末尾的 ",这导致它后面的所有内容都被视为文本。奇怪的是,IE9 和其他所有内容都自动修复了错误,但 IE8 及以下版本没有。

于 2013-11-03T22:48:57.073 回答
-1

它可能由<form>.

将你的<form id="search-form" action="/search">元素放在一个 div 中。

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

请试试这个。

于 2013-11-02T11:10:18.393 回答