最近在作
《精通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。
分享到:
评论