CSS: Как я могу скрыть класс, у которого нет другого класса или идентификатора? - PullRequest
4 голосов
/ 25 ноября 2011

Так как у меня может быть тд, который имеет только 1 класс?

Например:

<td class="ss_label ss_class">Hello</td>
<td class="ss_label">World!</td>

В этом случае я хочу display:none второй.

Это работает: $('[class="ss_label"]').hide();, но Я не хочу использовать Javascript или какую-либо библиотеку, такую ​​как jQuery .Просто чистый CSS.

В примере из реальной жизни, я хочу скрыть, это шестой и седьмой.

Ответы [ 4 ]

6 голосов
/ 25 ноября 2011

Вы также можете использовать этот селектор атрибутов из jQuery в CSS:

td[class="ss_label"] { display: none }

Это будет соответствовать элементу <td>, атрибут класса которого точно "ss_label" без других дополнений к нему.Работает во всех основных браузерах, кроме IE6 (если вы считаете его основным браузером).

4 голосов
/ 25 ноября 2011

Вы можете сделать:

.ss_label { display: none }
.ss_label.ss_class { display: table-cell }

для этого конкретного случая.

Насколько я знаю, общего решения не существует.

1 голос
/ 25 ноября 2011

Может быть, вы можете использовать селектор атрибутов (работает в сафари)

<html>
  <head>
    <style>
      div.hide { color: green   }
      div[class=hide] { display: none }
    </style>
  </head>
  <body>
    <div class="hide">Hide me</div>
    <div class="no hide">Don't hide me</div>
  </body>
</html>
1 голос
/ 25 ноября 2011
 <style type="text/css">
.ss_label {
display:none;
}
.ss_label.ss_class {
display:block;
}
</style>

Последнее правило переопределяет первое

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