Псевдоселектор: not () работает некорректно с некоторыми тегами - PullRequest
0 голосов
/ 09 мая 2020

HTML:

<p>I`m p</p>
<a>I`m a</a>
<h2>I`m h2</h2>

CSS:

:not(p){
 color:red;}

: псевдокласс not () должен выбирать все элементы внутри документа HTML, которые не t «p», и дать им красный цвет, но когда я запускаю код «p» тоже красный, как и все другие элементы.

Ответы [ 3 ]

2 голосов
/ 09 мая 2020

здесь нужно указать цвет для всех html элементов. поскольку для элементов не задан цвет, цвет из вашего селектора устанавливается для всех доступных элементов.

Вот что вам нужно добавить в свой стиль:

*{
      color: black;/* the color you will want for all or p elements. */
    }
0 голосов
/ 09 мая 2020

Notorious Zet, вы можете исправить эту ошибку, присвоив элементу p класс, а затем используя псевдоселектор not

HTML

<p class = "notRed"> This is a p element </p>
<h1>This is a h1 element</h1>

CSS

p:not(notRed){
color: red /*This will apply to all p elements with the class of notRed*/
}
0 голосов
/ 09 мая 2020

Сначала необходимо указать цвет тега <p>. См. Пример из w3schools.

p {
  color: black;
}

:not(p) {
  color: red;
}
<p> I am p </p>
<a href="#"> I am a </a>
<h1> I am h1 </h1>
...