Как применить CSS к элементу тела HTML? - PullRequest
10 голосов
/ 06 апреля 2010

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

document.body.className = "someclass";

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

body.someclass {
.
.
.
}

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

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

Ответы [ 3 ]

14 голосов
/ 06 апреля 2010

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

<body class="someclass">
8 голосов
/ 06 апреля 2010

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

Так как есть только одно тело, я никогда не добавлял к нему идентификатор или класс. Просто стиль:

body {
    background-color: red;
}

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

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

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

2 голосов
/ 06 апреля 2010

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

Если вам нужно наложить класс на тело, сделайте это так:

<body class="someclass">

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

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

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

body{
  ...(style parameters)
}

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

<tag id="someid">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...