Можете ли вы создать стиль элемента noscript?

StackOverflow https://stackoverflow.com/questions/676069

  •  21-08-2019
  •  | 
  •  

Вопрос

Возможно ли использовать noscript элемент в CSS-селекторах?

noscript p {
    font-weight: bold;
}
Это было полезно?

Решение

Да!Вы определенно можете это сделать.

На самом деле, многие (все?) браузеры поддерживают таргетинг на любой произвольный тег с использованием CSS."Официальные" теги в спецификации HTML определяют только то, что браузер должен с ними делать.Но CSS - это язык, который ориентирован на любой вариант XML, так что вы можете сказать foo {font-weight:bold;} и в большинстве браузеров, <foo> hello world </foo> выйдет жирно.

Как Дарко Зет уточняется, что IE6 / 7 не добавляет произвольные (нестандартные) элементы в DOM автоматически из источника;они должны быть добавлены программно.

Другие советы

У меня есть ошибка IE, которую нужно иметь в виду.Если, как и OP, вы просто хотите оформить текст в теге noscript, а не в самом теге noscript, пожалуйста, не обращайте на это внимания..

Допустим, вы хотите сделать фон тега noscript красным.В IE8 он будет отображаться с включенным JS.Только само поле, а не текст внутри.

Так что эта комбинация не очень хороша:

CSS - файл

noscript {
    background-color: red;
}

HTML

<noscript>Turn on your damned JavaScript! What is this, 1999?</noscript>

Но это обходное решение работает нормально:

CSS - файл

noscript div {
    background-color: red;
}

HTML

<noscript><div>Turn on your damned JavaScript! What is this, 1999?</div></noscript>

Как ни странно, я вижу такое поведение только в IE8, а не в IE7.И кто знает о 6..

В дополнение к Ответ Рекса М. - IE 6/7 (6 def, может быть, 7?) не будет создавать для вас произвольный тег.Но тебе повезло, как и с ВСЕ для многих проблем IE существует обходной путь.

Допустим, вы хотите создать стиль элемента под названием foo.Чтобы заставить IE распознать его как стилизуемый элемент, вам нужно включить эту строку где-нибудь в ваш JS:

document.createElement('foo');

Вам не нужно добавлять его, просто создайте.

Это подтолкнет IE к стилизации этого элемента для вас с помощью правила CSS:

foo { font-weight:bold; }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top