Правило CSS выполняется с помощью и без: not () selector [duplicate]

он работал для меня на 000webhost, выполнив следующие действия:

$headers  = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: ". $from. "\r\n";
$headers .= "Reply-To: ". $from. "\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();
$headers .= "X-Priority: 1" . "\r\n"; 

Введите адрес электронной почты при отправке электронной почты

mail('email@gmail.com', $subject, $message, $headers)

Используйте '', а не ""

Этот код работает, но письмо было получено с задержкой в ​​полчаса

45
задан BoltClock 22 February 2016 в 11:19
поделиться

2 ответа

Не читает ли это: «Выберите все h1 элементы, у которых есть предок, который не является элементом div ...?»

Он делает. Но в типичном HTML-документе каждый h1 имеет по крайней мере двух предков, которые не являются div элементами, а эти предки - не что иное, как body и html.

Это проблема с попыткой фильтрации предков с помощью :not(): он просто не работает надежно, особенно когда :not() не может быть квалифицирован каким-либо другим селектором, таким как селектор типа или селектор классов, например .foo:not(div). Вам будет намного проще использовать стили для всех элементов h1 и переопределить их с помощью div h1.

В Селекторах 4 , :not() принимать полные комплексные селекторы, содержащие комбинаторы, включая комбинатор потомков. Будет ли это реализовано в быстром профиле (и, следовательно, в CSS), еще предстоит проверить и подтвердить, но как только он будет реализован, вы сможете использовать его для исключения элементов с определенными предками. Из-за того, как работают селекторы, отрицание должно выполняться самим элементом, а не предком, чтобы надежно работать, и поэтому синтаксис будет выглядеть несколько иначе:

h1:not(div h1) { color: #900; }

Любой, кто знаком с jQuery быстро укажет, что этот селектор работает в jQuery сегодня . Это один из числа несоответствий между Selector 3's :not() и jQuery :not() , которые Selectors 4 исправляет.

54
ответ дан Community 21 August 2018 в 15:10
поделиться
  • 1
    Ах, понял. Спасибо. – charles 16 August 2011 в 20:56
  • 2
    Есть ли решение сделать что-то подобное с Селекторами уровня 3? – Alexandre D. 3 March 2017 в 08:47
  • 3
    @Alexandre D .: Если бы это было, я бы упомянул об этом. Лучшее, что вы можете сделать, как я уже сказал, - «применять стили ко всем элементам h1 и переопределять их с помощью div h1». – BoltClock♦ 3 March 2017 в 09:05

Элемент <html> не является <div>. Элемент <body> не является <div>.

Таким образом, условие «имеет предка, который не является <div>», будет истинным для всех элементов.

Если вы не может использовать селектор > (дочерний), я не думаю, что вы можете делать то, что вы пытаетесь сделать - на самом деле это не имеет смысла. В вашем втором примере <article> не является div, так что также совпадает с *:not(div).

13
ответ дан BoltClock 21 August 2018 в 15:10
поделиться
  • 1
    Теперь это имеет смысл для меня. Спасибо. – charles 16 August 2011 в 21:08
  • 2
    "все элементы" кроме html, конечно, поскольку это корневой элемент, а не то, что это имеет значение здесь :) – BoltClock♦ 16 August 2011 в 21:10
Другие вопросы по тегам:

Похожие вопросы: