CSS3 PIE 与 :first-child 冲突

Posted

技术标签:

【中文标题】CSS3 PIE 与 :first-child 冲突【英文标题】:CSS3 PIE conflicting with :first-child 【发布时间】:2011-11-30 20:54:47 【问题描述】:

我正在使用 CSS3 PIE 为 IE8 及更早版本添加对边框半径的支持,但它与 :first-child 选择器冲突。

基本上,我将三个列表项向左浮动。每个都有10px的左边距,除了第一个,我设置为0:

#步骤李 边框半径:10px; 向左飘浮; 左边距:10px; #steps li:first-child 左边距:0;

当我将 PIE 应用于 #steps li 选择器以添加对边框半径的支持时,第一个列表项将重新绘制,左边距设置回 10 像素,就好像 #steps li:first-child 选择器不存在一样。我可以看出这是由于 PIE 重绘了元素,因为它在正确的位置短暂闪烁,然后在一瞬间移动了 10 像素以上。

我尝试将 PIE 应用于两个选择器,但这并没有什么不同,而且我在 PIE 支持论坛上找不到任何与第一个孩子有关的信息。

【问题讨论】:

【参考方案1】:

查看官方论坛CSS3 PIE Forums - IE :first/last-child overwritten

最终结果是你需要添加

#steps css3-container:first-child + li, 
#steps li:first-child 
    margin-left: 0;

【讨论】:

既然 CSS3 PIE 已经存在,甚至可以启用 CSS3 选择器,并使用 #steps li:first-of-type ;) 哦,不是吗?太烂了:( @BoltClock chuckle..也许你把它和ie-css3.js混淆了? 我不是——我希望 PIE 也能填充选择器。但是,嘿,Selectivizr 看起来很酷。

以上是关于CSS3 PIE 与 :first-child 冲突的主要内容,如果未能解决你的问题,请参考以下文章

当我使用 cakephp 时,我在哪里放置 PIE.htc 文件(用于使 IE 与 CSS3 一起工作)

在 jQuery 中使用 * 选择器将 CSS3PIE 与 Modernizr 一起应用

MVC中的css3pie,pie.htc文件放在哪里?

CSS3 Pie 根本不工作,尝试了一切

css3 pie 有多可靠[关闭]

CSS3Pie 导致启动错误