Button IE8按钮元件内的绝对定位元件错误

Button IE8按钮元件内的绝对定位元件错误,button,internet-explorer-8,css-position,Button,Internet Explorer 8,Css Position,标题说明了一切:按钮元素的绝对位置子元素在IE8中是错误的 这里有一个 下面是强制性的代码: <button><div></div></button> <style> button{ position: relative; width: 200px; height: 200px; border: 0; background: gray; } button div{ position: ab

标题说明了一切:按钮元素的绝对位置子元素在IE8中是错误的
这里有一个
下面是强制性的代码:

<button><div></div></button>
<style>
button{
    position: relative;
    width: 200px;
    height: 200px;
    border: 0;
    background: gray;
}
button div{
    position: absolute;
    top: 5px;
    left: 0px;
    width: 100px;
    height: 100px;
    background: red;
}​
</style>

钮扣{
位置:相对位置;
宽度:200px;
高度:200px;
边界:0;
背景:灰色;
}
按钮div{
位置:绝对位置;
顶部:5px;
左:0px;
宽度:100px;
高度:100px;
背景:红色;
}​
我已经找遍了我能想到的一切。也许我应该放弃使用按钮元素:-/


这是怎么回事?

您需要添加一个溢出:对按钮css可见

这是一把小提琴。此外,还应该用span替换div,因为这更具语义。按钮中不允许使用div,因为它们是块元素,而按钮是内联的

.parent{
    position: relative;
    width: 200px;
    height: 200px;
    border: 0;
    background: gray;
    text-align : left;
    overflow:visible;
}

可能的副本。TL;DR,使用
溢出:可见:向按钮添加
溢出:可见
确实解决了此问题<代码>也许我应该放弃使用按钮元素
。您不应该放弃使用它,但不应该在按钮(=内联元素)内放置div(=块元素)。这是自找麻烦,它使代码无效。我几乎可以肯定,您不允许将div元素(块类型的元素)放入button元素中,我认为button元素是内联元素。这种重叠可能会导致某些浏览器,尤其是旧浏览器的兼容性问题。