IE7忽略了我的最小宽度设置。我读到IE7支持min-width,只要你处于标准模式(不是怪癖)。我指定了
<!DOCTYPE html>
作为我的标题。标记为valid.我仍然无法让IE7尊重min-width
。我该怎么办?
Sample Code
<table class="ProcedureTable">
<thead>
<tr>
<th>column data</th>
<th>column data</th>
<th>column data</th>
<th>column data</th>
<th>column data</th>
</tr>
</thead>
<tr class="PadColumns">
<td class="ExpandName">
column data
</td>
CSS
.ExpandName
{
min-width:25em;
}
答案 0 :(得分:11)
啊是的..我刚刚遇到这个
查看此链接
http://blog.throbs.net/2006/11/17/IE7+And+MinWidth+.aspx
基本上......你需要在JS中包含这个垫片来手动破解规则
以下是我处理它的方式
只需调用身体的onload函数
/*
author: Rob Eberhardt
desc: fix MinWidth for IE6 & IE7
params: none
returns: nothing
notes: cannot yet fix childless elements like INPUT or SELECT
history:
2006-11-20 revised for standards-mode compatibility
2006-11-17 first version
*/
function fixMinWidthForIE(){
try{
if(!document.body.currentStyle){return} //IE only
}catch(e){return}
var elems=document.getElementsByTagName("*");
for(e=0; e<elems.length; e++){
var eCurStyle = elems[e].currentStyle;
var l_minWidth = (eCurStyle.minWidth) ? eCurStyle.minWidth : eCurStyle.getAttribute("min-width"); //IE7 : IE6
if(l_minWidth && l_minWidth != 'auto'){
var shim = document.createElement("DIV");
shim.style.cssText = 'margin:0 !important; padding:0 !important; border:0 !important; line-height:0 !important; height:0 !important; BACKGROUND:RED;';
shim.style.width = l_minWidth;
shim.appendChild(document.createElement(" "));
if(elems[e].canHaveChildren){
elems[e].appendChild(shim);
}else{
//??
}
}
}
}
还有另一种方法可以做到这一点
* html div#division {
height: expression( this.scrollHeight < 334 ? "333px" : "auto" ); /* sets min-height for IE */
}
答案 1 :(得分:2)
我是新手,所以显然我无法评论@samccone上面的第一个答案。只是想添加它确实有效,但会在IE9中创建非破坏空间元素的方式产生错误,即...
shim.appendChild(document.createElement(" "));
该行可以替换为......
shim.innerHTML = " ";
一切都很好。希望这可以帮助别人。
答案 2 :(得分:0)
标记有效。
不,<!DOCTYPE html>
就那个时代而言无效。据我所知,只有HTML5才有效,IE7肯定不知道(IE9有点意识到,不确定8)。在我正在处理的页面上,min-width
即使在body
标记上也能正常工作。但是,我们在此特定页面上使用XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
此外,其他一些事情可能会使IE超出标准模式并将其带入怪癖模式,因此即使是正确的doctype也可能无法为您解决问题。
因此,如果您必须使用HTML5并与IE7兼容,则必须使用behaviour
CSS属性,条件注释和/或IE7特定脚本。