我有一个网站(www.jamesalder.co.uk)在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>
好像它完全错过了以下的CSS,因为如果我禁用这个CSS,它会产生同样的效果:
#search-form {
position: absolute;
right: 0;
top: 0;
background-color: rgba(255, 255, 255, 0.6);
padding: 3px;
}
IE9在表单上是否存在CSS的某些问题?我应该把它放在div中吗?
至于下面已决定不再漂浮的图片,我不知道。
是否有任何关于让网站在旧版IE中运行的最佳做法或良好资源,还是应该使用条件?
答案 0 :(得分: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及以下版本没有。
答案 1 :(得分:-1)
可能由<form>
引起。
将您的<form id="search-form" action="/search">
元素放入div。
<div id="header">
<img src="..."/>
<div id="search-form">
<form action="/search"></form>
</div>
</div>
请试试。
答案 2 :(得分:-2)
将此Css应用于....
/* Css for ie 8 */
#search-form {
position: absolute\0/;
right: 0\0/;
top: 0\0/;
background-color: rgba(255, 255, 255, 0.6)\0/;
padding: 3px\0/;
}
======================================================
/* Css for ie 9 */
:root #search-form {
position: absolute\0/IE9;
right: 0\0/IE9;
top: 0\0/IE9;
background-color: rgba(255, 255, 255, 0.6)\0/IE9;
padding: 3px\0/IE9;
}