Internet explorer 浏览器和Firefox中呈现不一致

Internet explorer 浏览器和Firefox中呈现不一致,internet-explorer,firefox,rendering,Internet Explorer,Firefox,Rendering,以下代码在Firefox和Internet Explorer中呈现不同。有什么好的理由吗 这里的尝试是有一些大小相同的彩色框,里面有样式化的链接。目前,文本链接在Firefox中正常工作,但Explorer决定将其置于文本框之外。之所以在框的周围,是因为它们在悬停时会改变颜色,使超链接更加可见 谢谢你的评论 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basi

以下代码在Firefox和Internet Explorer中呈现不同。有什么好的理由吗

这里的尝试是有一些大小相同的彩色框,里面有样式化的链接。目前,文本链接在Firefox中正常工作,但Explorer决定将其置于文本框之外。之所以在框的周围,是因为它们在悬停时会改变颜色,使超链接更加可见

谢谢你的评论

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
    "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
<style>
.menu {
    width:100%;
    height:100%;
    margin-top:20pt
    }
.menubuttons {
    left:0%;
    height:100%;
    padding-top:20%;
    display:inline;
    position:static;
    top:20pt;
    width:100%;
    margin:0 0 0 20pt;
    }
#menubutton {
    border-radius:16px;
    background:lightblue;
    color: #000066;
    position:relative;
    height:15%;
    display:inline;
    width:60pt;
    padding:10pt 5pt 10pt 5pt;
    margin:3pt 0 3pt 3pt;
    }
#menubutton p {
    margin:0;
    top:50%;
    left:50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display:inline;
    position:static;
    }
</style>
</head>
<body>
<div class="menu">
  <div class="menubuttons">
    <a id="menubutton" href=""><p>Link one</p></a>
    <a id="menubutton" href=""><p>Link two</p></a>
    <a id="menubutton" href=""><p>Link three</p></a>
    <a id="menubutton" href=""><p>Link four</p></a>
    <a id="menubutton" href=""><p>Link five</p></a>
  </div>
</div>
</body></html>

.菜单{
宽度:100%;
身高:100%;
利润上限:20分
}
.菜单按钮{
左:0%;
身高:100%;
垫面:20%;
显示:内联;
位置:静态;
顶部:20磅;
宽度:100%;
保证金:0.20pt;
}
#菜单按钮{
边界半径:16px;
背景:浅蓝色;
颜色:#000066;
位置:相对位置;
身高:15%;
显示:内联;
宽度:60磅;
填料:10pt 5pt 10pt 5pt;
保证金:3英镑0英镑3英镑3英镑;
}
#菜单按钮{
保证金:0;
最高:50%;
左:50%;
-ms转换:翻译(-50%,-50%);
转换:翻译(-50%,-50%);
显示:内联;
位置:静态;
}

我尝试用IE 11、Firefox和Google Chrome浏览器测试您的代码

我注意到#menubutton p类中的transform:translate属性导致了这个问题

如果你对它发表评论,那么你可以正确地看到文本

修改代码:


.菜单{
宽度:100%;
身高:100%;
利润上限:20分
}
.菜单按钮{
左:0%;
身高:100%;
垫面:20%;
显示:内联;
位置:静态;
顶部:20磅;
宽度:100%;
保证金:0.20pt;
}
#菜单按钮{
边界半径:16px;
背景:浅蓝色;
颜色:#000066;
位置:相对位置;
身高:15%;
显示:内联;
宽度:60磅;
填料:10pt 5pt 10pt 5pt;
保证金:3英镑0英镑3英镑3英镑;
}
#菜单按钮{
保证金:0;
最高:50%;
左:50%;
/*-ms转换:翻译(-50%,-50%)*/
/*转换:翻译(-50%,-50%)*/
显示:内联;
位置:静态;
}

有什么好的理由吗?我想这取决于你所说的“好”。欢迎来到多浏览器支持的喜悦,尤其是在IE方面。完全不同的开发组和代码库,每个开发组和代码库都以自己的方式解释CSS的详细呈现规则。顺便说一下,
id
通常被认为在给定页面上是唯一的。类用于定义元素集合的行为。您应该将
menubutton
定义为一个类,而不是
id
@lower感谢您的精彩评论,以及关于
id
class
之间区别的信息。我们会假设,做出这些区别是业余程序员与职业程序员的区别所在?似乎就是这样。谢谢。如果你认为上述建议可以帮助你解决问题,请接受它作为对这个问题的回答。它可以在未来帮助其他社区成员解决类似的问题。谢谢你的理解。裁判: