当前位置: 首页 > 面试题库 >

:not()选择器在Safari和Chrome / Firefox之间不一样

黄流觞
2023-03-14
问题内容

我很难弄清楚为什么以下代码在Safari中显示为蓝色,而在Chrome和Firefox中显示为红色。

em:not(div) {

    color: red

}

em:not(p div) {

    color: blue

}


<p>

    <em>FOO</em>

</p>

显然,Chrome和Firefox不支持:not()其中具有多个级别的CSS选择器。 (可能的错误?)

我非常喜欢:not()选择器,并且使用Safari开发,因此当我在Chrome上找到我的网站时,我几乎心脏病发作了。对于为什么会发生这种奇怪行为的任何解释,将不胜感激。


问题答案:

Safari最近发布了的4级版本:not(),该版本允许使用复杂的参数选择器,使其与jQuery迄今为止的非标准实现相当。请参阅发行说明。在目前的化身:not()只允许一个参数一个简单的选择,这样一个复杂的选择一样pdiv不会在今天的浏览器的设计工作。

复杂选择器是由一个或多个复合选择器组成的表达式,这些选择器由诸如后代>~和的组合符分隔+。复合选择器是一个或多个简单选择器的序列。div是一个由一个简单选择p div器组成的复合选择器,并且是一个由两个复合选择器组成的复杂选择器(每个复合选择器由一个简单选择器组成),由后代组合器分隔。

目前尚不知道何时将其引入其他浏览器,尽管目前尚不太可能:not()更改的新规范-
当前的4级定义不费吹灰之力,并且如果原始WebKit菌株足够大胆地实现它,那么进入其他菌株(包括Blink)实际上只是时间问题。

自FPWD进行了将近5年的苦苦等待之后,我们实际上可能很快就会真正看到选择器4的CR。考虑我抽。



 类似资料:
  • 问题内容: 我有5个FF,Chrome,IE,Opera和Safari插件/扩展程序。 如何识别用户浏览器并重定向(一旦单击安装按钮)下载相应的插件? 问题答案: 谷歌浏览器可靠检测通常会导致检查用户代理字符串。这种方法不可靠,因为欺骗这个值很简单。 仅在确实需要时才使用浏览器检测方法,例如显示特定于浏览器的安装扩展说明。尽可能使用特征检测。 可靠性分析 在先前的方法依赖于渲染引擎的性质来检测浏览

  • 下面是一些简单的代码片段。 在火狐一切正常。 在Chrome中,我得到了“org.openqa.selenium.WebDriverException:未知错误:无法聚焦元素”错误 Safari不会对sendKeys()作出反应 我还尝试使用另一种方法: 此代码修复了Chrome错误,但浏览器仍然不会对事件 Safari和Firefox对sendKeys()也没有反应。 我无法理解正在发生什么,以

  • 问题内容: 这让我很精神。 我在Google Maps v3中使用了MarkerCluster,它在FF中可以正常工作,但是当我(和客户端)在Chrome或Safari中启动它时,群集就不存在了。 没有错误,只是不能在webkit中工作。 一些注意事项:它来自一些ajax加载的json,并且在jquery中。 该函数负责添加: 干杯! 重申一下,Chrome中没有错误,只是没有显示。 问题答案:

  • 问题内容: 我正在尝试选择a内的所有元素,但第三个和第四个除外。我设法做到了: 我想合并这些选择器,因为我还有其他条目。像这样的东西,但是没有用: 这 确实 适用于jQuery,但不适用于CSS。我正在使用Chrome(并且我只需要在其中使用它即可)。 我无法找到这种情况的组合选择器。如何将选择器与结合使用? 问题答案: 选择器级别3仅允许伪类中的单个简单选择器使用。作为jQuery选择器,它之所

  • 问题内容: 我在使用这个特定的CSS选择器时遇到了麻烦,当我添加它时,它不希望工作。似乎可以与其他选择器的任何组合正常工作: 如果我删除了该部件,它就可以正常工作。即使我将选择器更改为它,也不会选择输入了文本的输入字段。这是坏了还是我只是不允许在选择器中使用? 我唯一想到的是浏览器仍在说该元素为空,因为它没有子元素,每个元素只有一个“值”。选择器是否没有针对输入元素和常规元素的单独功能?但这似乎不

  • 问题内容: AStringis-aCharSequence。Java库中有许多方法可以接受,因此它们的操作范围更广。某些类具有方法(例如),并且还使用等效方法(例如)实现。 如果我正在编写一个委托给此类的类,并且需要一些文本输入,则可以将输入选择为a 或a 。通过为客户提供更多选择,选择后一种将使类更灵活。但是我看不到有太多这样做的代码:文本参数几乎总是a 而不是a 。使用不利吗?有表现上的打击吗