不在另一个元素内部时定位元素(即所有锚点不在段落内)

时间:2016-10-26 18:06:32

标签: html css css-selectors

我正在尝试设置不在a标记内的所有p标记。这就是我的想法:

p {
  font-size: 1.25rem
}
a {
  color: blue;
  text-decoration: underline;
}
:not(p) a {
  font-size: .75rem;
}
<div>
  <p>There is a <a>link</a> inside this paragraph</p>
  <a>Regular Link</a>
</div>

我该如何解决这个问题?您是否可以在没有标签的情况下使用:not()选择器? (没有js / jQuery解决方案

JsFiddle

2 个答案:

答案 0 :(得分:1)

为什么不设置所有a标记的样式,然后对a个标记内的所有p标记应用不同的样式?

&#13;
&#13;
p {
  font-size: 1.25rem
}
a {                             /* 1 */
  color: blue;
  text-decoration: underline;
  font-size: .75em;
}
p a {                           /* 2 */
  color: green;
  text-decoration: none;
  font-size: 2rem;
}
&#13;
<div>
  <p>There is a <a>link</a> inside this paragraph</p>
  <a>Regular Link</a>
</div>
&#13;
&#13;
&#13;

注意:

  1. 此选择器定位文档中的所有锚标记
  2. 由于higher specificity,此选择器会覆盖第一个选择器,仅定位段落元素中的锚标记。

答案 1 :(得分:0)

只需在a

中使用此p
p a {
//*Your style there*/
}

以及a以外的p

a {
//*Your style there*/
}