Как применить CSS к элементу тела HTML?

Я пытаюсь избавиться от этого:

document.body.className = "someclass";

Я хочу сделать это в CSS.

body.someclass {
.
.
.
}

к сожалению, я не могу получить эту работу в Firefox, хроме.

Я делаю что-то не так здесь? Есть ли какой-либо способ, которым мы могли применить класс CSS к телу?

11
задан Manohar 6 April 2010 в 03:52
поделиться

3 ответа

Вы делаете там две разные вещи. Ваш JavaScript фактически назначает класс someclass вашему элементу тела, в то время как ваш CSS стилизует элемент тела с классом someclass, он не будет назначать ему класс, это не задача CSS. Вы бы сделали это в обычном (X) HTML вот так:

<body class="someclass">
15
ответ дан 3 December 2019 в 03:51
поделиться

Отчасти проблема заключается в том, что допустимый XHTML может иметь только один элемент на документ. Класс обычно приписывается элементу, который встречается несколько раз (или, скорее, стилю, который вы хотите применить несколько раз).

ПОСКОЛЬКУ существует только одно тело, я никогда не добавлял к нему идентификатор или класс. Просто стиль:

body {
    background-color: red;
}

Если у вас есть класс, который вы хотите использовать повторно, используйте запятую в своем селекторе:

.coolStyle, body {
    font-weight: bold;
    color: red;
    text-decoration: blink;
}

Все это потенциально бессмысленно, потому что все, что применяется к тегу будет унаследован его дочерними элементами, если явно не указано иное.

8
ответ дан 3 December 2019 в 03:51
поделиться

Нет необходимости в классе для тела, поскольку в вашем документе будет только одно тело. Если, может быть, вы по какой-то причине не захотите изменить стиль тела, изменив его с помощью класса JavaScript.

Если вам нужно поместить класс в тело, сделайте это следующим образом:

<body class="someclass">

А затем получите доступ к классу и измените стиль в вашем CSS следующим образом:

body.someclass{
  ...(style parameters goes here)
}

Однако вы можете изменить стиль всех элементов тега и поскольку у вас будет только одно тело, вы можете просто добавить это в css:

body{
  ...(style parameters)
}

И ничего не добавлять в html. Однако при повторном появлении тегов используйте class для стиля, который будет использоваться несколько раз, и id для стиля, который будет использоваться на странице только один раз. Вы назначаете идентификатор тегу в HTML:

<tag id="someid">
3
ответ дан 3 December 2019 в 03:51
поделиться
Другие вопросы по тегам:

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