#html #css
#HTML #css
Вопрос:
У меня есть следующие настройки css:
.dropdown dt { background:#e4dfcb !important; }
.dropdown-disabled { background:#dddddd important; color:#aaaaaa; }
Итак, в моем html-коде я намеренно поместил класс с отключенным выпадающим списком, который должен принудительно переопределить цвет фона… но этого не происходит.
<dt id="dtTestID" class="dropdown-disabled">
<a href="#"><span>Hello World</span></a>
</dt>
Что я делаю не так? Тьфу…
Редактировать:
Хорошо, я обновил код до следующего:
.dropdown-enabled { background:#e4dfcb; }
.dropdown-disabled { background:#dddddd; }
.dropdown dt { background:#e4dfcb !important url(arrow.png) no-repeat scroll right center; }
.dropdown dt a { display:block; padding-right:20px; border:1px solid #d4ca9a; width:150px;}
.dropdown dt a:hover { color:#ffffff; border: 1px solid #d0c9af;}
.dropdown dt a span { color:#816c5b; cursor:pointer; display:block; padding:5px; }
.dropdown dt a span:hover { color:#ffffff; cursor:pointer; display:block; }
<dt id="dtTestID" class="dropdown-disabled"><a href="#"><span>Hello World</span></a></dt>
Это работает для фона, мне просто нужно включить выпадающий список везде. Однако теперь я сталкиваюсь с другой (похожей) проблемой, я не могу переопределить стиль ссылки. Я попробовал следующее…
Переопределяем цвет на !важно, и устанавливаем для моего отключенного новый цвет.
.выпадающий список dt a span { цвет: #816c5b !важно; курсор: указатель; дисплей: блок; отступ: 5 пикселей; } .выпадающий список-отключен { фон: #dddddd; цвет:#ааааааа; }
Есть идеи?
Ответ №1:
В CSS нет important
модификатора, просто !important
. Попробуйте это:
.dropdown dt { background:#e4dfcb }
.dropdown-disabled { background:#dddddd !important; color:#aaaaaa; }
Надеюсь, это поможет.
Комментарии:
1. Привет, tcurvelo, это сработало для фона, однако я столкнулся с другой подобной проблемой со стилем ссылки… Я обновил свой вопрос выше.
Ответ №2:
Найден обходной путь… Мне пришлось удалить ссылку из моего dt, затем обновить мой css следующим:
.dropdown-enabled { background:#e4dfcb; }
.dropdown-disabled span { background:#dddddd; color:#aaaaaa; }
После этого мне нужно использовать jQuery для отслеживания щелчка мыши на другом элементе, чтобы вручную переключиться на включено … и снова вставить ссылку обратно.
var dt = jQ(this).find("dt");
// put back the look of enabled the element
dt.removeClass("dropdown-disabled");
dt.addClass("dropdown-enabled");
// put back the link in there to trigger the dropdown
var newhtml = jQ('<a href="#"></a>').append(dt.html());
dt.html(newhtml);