我必须根据选择器中的子(h1)元素在选择器后面设置<p>
的边距。像这样:
selector:not(>h1) + p
{
margin: 10px 0 0 0;
}
HTML:
<a><h1>test</h1></a>
<p>test</p>
<a>
是我的选择器,只有当a包含<h1>
时,它(或后面的p)才能获得边距。并且不可能将余量设置为h1。
这不起作用:有没有办法在纯CSS中执行此操作? 我认为这是CSS3选择器中缺少的东西。
答案 0 :(得分:1)
你的问题/例子不太清楚我害怕但听起来你正在描述一个'父'选择器,而CSS目前只适用于儿童/后代。我相信在父母选择器的管道中有工作,但在那之前我不可能害怕。
如果
ħ
编辑:
同样,我无法确切地说出你所追求的是什么,但也许尝试这样的事情:
<h1><a></a></h1>
h1 a{
display:block
margin-bottom:20px; /* Adjust as necessary */
}
h1 + p{
margin-top:-20px; /* Same as above */
}
答案 1 :(得分:1)
绝对没有办法让你的选择器不使用jQuery&#39;:has&#39;,在这种情况下,我会写这个查询:
$('selector > p:not(selector > p:has(h1))');
如果嵌套函数甚至可以在jQuery中工作
CSS无法工作的原因是因为没有:具有功能,并且:包含已被删除。