如何选择<li>作为锚元素直接父元素的元素?
在示例中,我的CSS将是这样的:
li < a.active {
property: value;
}
Run Code Online (Sandbox Code Playgroud)
显然有一些方法可以使用JavaScript来实现这一点,但我希望CSS Level 2本身存在某种解决方法.
我尝试设置样式的菜单正在由CMS喷出,因此我无法将活动元素移动到<li>元素...(除非我主题菜单创建模块,我宁愿不这样做).
有任何想法吗?
有没有办法根据类中子元素的类选择父元素?与我相关的示例与http://drupal.org的精美菜单插件的HTML输出相关.输出呈现如下:
<ul class="menu">
<li>
<a class="active">Active Page</a>
</li>
<li>
<a>Some Other Page</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以将样式应用于包含具有活动类的锚的列表项.显然,我更喜欢将列表项标记为活动,但我无法控制生成的代码.我可以使用javascript(JQuery spring to mind)执行此类操作,但我想知道是否有使用CSS选择器的方法.
为了清楚起见,我想将一个样式应用于列表项,而不是锚.
我有能够反映不同的状态的元件,或者由用户(触发:hover,:focus等)或由服务器操作(data-status="finished",disabled等).
我可以定位具有已更改状态的元素,但我似乎找不到基于所讨论元素的状态来定位DOM中的其他元素的方法.
例:
<section>
<div>Element 1</div>
<div data-status="finished">Element 2</div>
<div>Element 3</div>
</section>
<section>
<div>Element 4</div>
<div class="blink">Element 5</div>
<div>Element 4</div>
<div>Element 4</div>
<div class="spin">Element 4</div>
...
</section>
Run Code Online (Sandbox Code Playgroud)
或者只是使用服务器端的正确样式呈现元素.
是否有一个CSS选择器可以让我根据目标元素的状态指定应该选择哪些元素?
就像是:
div[data-status~=finished]:affect(.blink, .spin)
Run Code Online (Sandbox Code Playgroud)
这将允许我也只针对 CSS 没有相同父级的元素?
jQuery或其他JavaScript库是否支持CSS4选择器?甚至浏览器?我该如何测试它们?
我正在尝试选择<a>不是<img>元素父元素的元素.(注意:如果它是相关的,我想选择的一些锚是没有孩子的.)我试过这个:
a > :not(img) {}
Run Code Online (Sandbox Code Playgroud)
还有这个:
a:not(> img) {}
Run Code Online (Sandbox Code Playgroud)
但它们似乎都不起作用.我如何在CSS中实现这一目标?