Drupal: Как переопределить CSS определенного блока? - PullRequest
2 голосов
/ 12 октября 2009

Мне нужно убрать границу одного блока из остальных блоков правой боковой панели, но я не знаю, как это сделать. Я уже пытался сделать это так:

#sidebar-right div#block-block-14 {
    border:1px dashed orange !important;
    text-align:center;
}

div # block-block-14 - это сгенерированный друпалом идентификатор блока:

<div id="block-block-14">

Но я не могу удалить его границу.

Заранее спасибо:)

Ответы [ 2 ]

2 голосов
/ 12 октября 2009

Хеш внутри идентификатора разрушит его для вас. Drupal не будет размещать хеш внутри div по умолчанию, поэтому вам, вероятно, нужно обратиться к своей теме. block.tpl.php, вероятно, шаблон, который создает эту проблему для вас. Обычно div # не включается в id, остальная часть говорит вам, какой это блок, block-block-14 просто означает блок из блочного модуля с id 14. Разные модули могут иметь немного разные схемы именования, но Идея, как правило, одинакова.

Как только вы заставите Drupal прекратить печатать дополнительный div #, вы сможете сделать это в своем css:

#block-block-14 {
    ....
}

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

1 голос
/ 12 октября 2009

Поскольку это идентификатор, на который вы пытаетесь нацелиться, перед ним должен стоять символ #:

#div#block-block-14 {
   border:1px dashed orange !important;
   text-align:center;
}

Поскольку идентификатор является уникальным для страницы, вам нужно указать только один идентификатор, вам также не нужно указывать # sidebar-right id.

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

Edit:
С исправлением id выглядит нормально, и вам нужно только использовать:

#block-block-14 {
   border:1px dashed orange !important;
   text-align:center;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...