我正在学习绝对定位的CSS格式化
我已经找到了w3.org网站上的示例,它使用左右两侧来创建CSS中的"框架"。
我还阅读了A-List-Apart的一篇文章,讨论了这种技术,并发现了这里处理类似问题的其他几个问题,但没有一个专注于我将要描述的具体问题。我还发现我可以用
有趣的点在于最后三行,当我设置左和右并将宽度设为“自动”时。
结果是,在Chrome(v.26)中只有使用预期效果,但在FF.20或IE.10中,它看起来是损坏的:超出其容器div的右边缘..当只设置左位置时,情况也是如此。
有趣的部分是,这种DIV和内联块SPAN的方法在所有三个浏览器中都能按预期工作。
这是浏览器的错误吗?有没有办法使它在不需要解决方案的情况下正常工作,将
希望有人对此有线索。
PS:我专注于“现代”,html5浏览器,因此如果它不能在IE8或更早版本上工作,我不介意。
<input>
。我希望它在其容器内"拉伸",使其左右两侧留出30像素,并填充所有空间...我已经找到了w3.org网站上的示例,它使用左右两侧来创建CSS中的"框架"。
我还阅读了A-List-Apart的一篇文章,讨论了这种技术,并发现了这里处理类似问题的其他几个问题,但没有一个专注于我将要描述的具体问题。我还发现我可以用
<div>
包装内部的<input>
,但我想深入了解这个主题,以了解为什么它表现不佳...
这是我制作的一个工作示例,用于测试和澄清这个想法。简而言之,它就像这样简单:
<div id="sidebar">
<input type="text" value="input" />
</div>
使用这种样式:
body { height: 100% } /* Required for percentage heights below */
#sidebar {
position: absolute;
top: 0;
height: 100%;
left: 0;
width: 160px;
}
#sidebar input {
position: absolute;
margin: 0;
padding: 0;
height: 21px;
left: 30px;
right: 30px;
width: auto;
}
有趣的点在于最后三行,当我设置左和右并将宽度设为“自动”时。
结果是,在Chrome(v.26)中只有使用预期效果,但在FF.20或IE.10中,它看起来是损坏的:超出其容器div的右边缘..当只设置左位置时,情况也是如此。
有趣的部分是,这种DIV和内联块SPAN的方法在所有三个浏览器中都能按预期工作。
这是浏览器的错误吗?有没有办法使它在不需要解决方案的情况下正常工作,将
<input>
与width:100%包含在所述方式中的另一个<div>
中?希望有人对此有线索。
PS:我专注于“现代”,html5浏览器,因此如果它不能在IE8或更早版本上工作,我不介意。
display:block
,并看看它会带给你什么。 - Breezer