最近在作《精通CSS》读书笔记,写到第3章关于背景的时候,顺便补充一点关于background-position的问题。

CSS1和CSS2.1(依照目前浏览器普遍的实现方式)有差异。CSS1规范中,背景位置是content区域算起,而CSS2.1中是padding区域算起。实际上在CSS3的background module中,在已有的background-position、background-attachment和background-repeat之外,增加了几个background属性,来决定背景的定位,包括:

background-origin: border | padding | content

background-clip: border | padding

background-origin表示背景的position从哪里算起,CSS1相当于background-origin:content,而CSS2.1相当于background-origin:padding。background-clip表示背景延伸到哪个部分,CSS1和CSS2.1都是background-clip:border。

但是,如你所料,IE又是特例。

IE6中,普通的block元素的背景相当于:
background-origin:border; background-clip:border;
而hasLayout的元素的背景则相当于:
background-origin:padding; background-clip:padding;

总之,IE6在任何情况下,既不符合CSS1也不符合CSS2.1。
评论
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

hax
搜索本博客
存档
最新评论