段落元素,并将字体重量更改为粗体:
<span>p { </span> <span>font-weight: bold; </span><span>} </span>document.queryselector()返回第一个匹配的html元素
段落文本默认为黑色,但是当它出现在
<span>p { </span> <span>font-weight: bold; </span><span>} </span>这会创建相同的CSS代码,减少打字工作并防止错误。但:
<span>/* default black */ </span><span>p { </span> <span>color: #000; </span><span>} </span> <span>/* gray in <article>, <section>, or <aside> */ </span><span>article p<span>, </span></span><span>section p<span>, </span></span><span>aside p { </span> <span>color: #444; </span><span>} </span>
元素,这些元素是的孩子,该
<span>article, section, aside { </span> <span>p { </span> <span>color: #444; </span> <span>} </span> <span>} </span>
<span><span>:is(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>css:pseudo-class选择器
<span>article section<span>:not(:first-child):is(.primary, .secondary) :is(h1, h2, p)</span> { </span> <span>color: green; </span><span>} </span>:withing()选择器语法与:IS()相同,并且在所有现代浏览器(不是IE)中也得到了支持。它通常会导致相同的样式。例如:
<span>article section<span>.primary:not(:first-child) h1, </span></span><span>article section<span>.primary:not(:first-child) h2, </span></span><span>article section<span>.primary:not(:first-child) p, </span></span><span>article section<span>.secondary:not(:first-child) h1, </span></span><span>article section<span>.secondary:not(:first-child) h2, </span></span><span>article section<span>.secondary:not(:first-child) p</span> { </span> <span>color: green; </span><span>} </span>差异是
<span>/* NOT VALID - selector will not work */ </span><span>div<span>:is(::before, ::after)</span> { </span> <span>display: block; </span> <span>content: ''; </span> <span>width: 1em; </span> <span>height: 1em; </span> <span>color: blue; </span><span>} </span>如果是:is(),特异性是其参数中最特定的选择器。如果是:where(),特异性为零。 考虑以下CSS: 让我们将此CSS应用于以下HTML: 如下所示,段落文本将被涂上红色。
<span><span>:where(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>请参阅笔 使用:IS sitepoint(@SitePoint)的选择器 在codepen。
<span>article p { color: #444; } </span><span>p { color: #000; } </span>上:IS()选择器具有与文章P的特异性相同的特异性,但是在样式表的稍后,因此文本变成红色。有必要删除p和:IS()选择器以应用蓝色的颜色,因为:where()选择器比任何一个都不具体。 将使用更多的代码库:IS()而不是:whese()。但是,零特异性的零特异性:()对于CSS重置可能是实用的,CSS重置是在没有特定样式的情况下应用标准样式的基线。通常,RESETS应用默认字体,颜色,桨和边距。 此CSS重置代码将1EM的最高边距应用于
<span>p { </span> <span>font-weight: bold; </span><span>} </span>试图在样式表的稍后设置自定义
<span>/* default black */ </span><span>p { </span> <span>color: #000; </span><span>} </span> <span>/* gray in <article>, <section>, or <aside> */ </span><span>article p<span>, </span></span><span>section p<span>, </span></span><span>aside p { </span> <span>color: #444; </span><span>} </span>您可以使用更高特异性的选择器来解决此问题,但对于其他开发人员来说,它是更多的代码,不一定是显而易见的。您最终会忘记为什么需要它:
<span>article, section, aside { </span> <span>p { </span> <span>color: #444; </span> <span>} </span> <span>} </span>您还可以通过应用于每种样式的重要性来解决问题,但是请避免这样做! 一个更好的选择是在您的CSS重置中采用零特异性:white():
<span><span>:is(article, section, aside) p</span> { </span> <span>color: #444; </span><span>} </span>现在,无论特异性如何,您都可以覆盖任何CSS重置样式;无需进一步的选择器或!重要:
<span>article section<span>:not(:first-child):is(.primary, .secondary) :is(h1, h2, p)</span> { </span> <span>color: green; </span><span>} </span>
<span>article section<span>.primary:not(:first-child) h1, </span></span><span>article section<span>.primary:not(:first-child) h2, </span></span><span>article section<span>.primary:not(:first-child) p, </span></span><span>article section<span>.secondary:not(:first-child) h1, </span></span><span>article section<span>.secondary:not(:first-child) h2, </span></span><span>article section<span>.secondary:not(:first-child) p</span> { </span> <span>color: green; </span><span>} </span>CSS:具有伪级选择器
<span>/* NOT VALID - selector will not work */ </span><span>div<span>:is(::before, ::after)</span> { </span> <span>display: block; </span> <span>content: ''; </span> <span>width: 1em; </span> <span>height: 1em; </span> <span>color: blue; </span><span>} </span>开发人员终于有一种方法来瞄准父元素! 难以捉摸的“家长选择器”一直是最要求的CSS功能之一,但它会使浏览器供应商的性能并发症,因此已经很长时间了。用简单的术语:
以上是CSS:IS,:wery and::pseudo-class选择器工作的详细内容。更多信息请关注PHP中文网其他相关文章!