下面是一个显示问题的完整html页面。
“myDiv”的高度应为22px(包括边框)。第1项在其边框与“myDivs”边框之间应有1px的空间。在IE8中它是。
在FF 3.6.2虽然它是24px但我不明白为什么。最终我的目标是使用相同的CSS在两个浏览器中创建相同的结果。
这让我发疯了!任何帮助将不胜感激:)
<!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" >
<head>
<title></title>
<style type="text/css">
div.aclb {background:#EEF3FA; color:#666; cursor:text; padding:1px; overflow-y:auto; border:#BBC8D9 1px solid; }
div.aclb:hover {border:#3399FF 1px solid;}
div.aclb.focus {background:#FFF; border:#3399FF 1px solid;}
div.aclb ul {padding:0; margin:0; list-style:none; display:table; vertical-align:middle; }
div.aclb li {float:left; cursor:default; font-family:Arial; padding:0; margin:0;}
div.aclb li.block {padding:0px 2px; height:16px; white-space:nowrap; border:solid 1px #BBD8FB; background:#f3f7fd; font-size:11px; line-height:16px;}
div.aclb li.block:hover {border:solid 1px #5F8BD3; background:#E4ECF8; color:#000;}
div.aclb li.input {}
div.aclb input {margin:0; padding:0; height:18px; background:transparent; border:none; color:#666; overflow:hidden; resize:none; font-family:Arial; font-size:13px; outline:none;}
div.aclb input:focus {margin:0; padding:0; height:18px; background:transparent; border:none; color:#22F; overflow:hidden; resize:none; font-family:Arial; font-size:13px; outline:none;}
div.aclb a.d {cursor:pointer; display:block; color:#6B6B6B; width:13px; height:12px;float:right; margin:1px 0 1px 4px; border:solid 1px transparent; font-family:Verdana; font-size:11px; text-align:center; line-height:10px;}
div.aclb a.d:hover { border:solid 1px #7DA2CE; background:#F7FAFD; color:#AD0B0B;}
div.aclb a.d:active {border:solid 1px #497CBB; background:#BAD8E8; color:#A90909;}
</style>
</head>
<body>
<div id="myDiv" style="width:250px" class="aclb">
<ul>
<li class="block">
<a class="d">x</a><span>Item 1</span>
</li>
<li class="input">
<input type="text" style="width:30px" maxlength="30"/>
</li>
</ul>
</div>
</body>
</html>
答案 0 :(得分:2)
我刚刚在firefox中查看过,感谢firebug,问题就在于li.input。它太高了,可能是因为浏览器默认设置,并推动容器更高。
将div.aclb li.input
设置为高度为18px或更低。对我来说,至少,它将它修复为FF。
答案 1 :(得分:0)
您是否尝试过使用CSS条件? http://www.quirksmode.org/css/condcom.html我知道你说你想为两者使用相同的CSS,但这可能会更快地解决问题。只需为IE设置一组CSS,为其他人设置一组。如果这不起作用,请告诉我。我会深入挖掘,看看能否找到通用解决方案。