#html #css
#HTML #css
Вопрос:
Как мне переопределить ширину UL по умолчанию? Например:
.tabPage .tabs ul {
margin: 0;
padding: 0;
width:149px !important;
margin-top: 10px;
list-style: none;
}
Итак, html будет выглядеть так:
<div class="tabPage">
<div class="tabs">
<ul> <li> ... </li> <ul>
</div>
</div>
Теперь я хочу изменить размер ширины на 50 пикселей для UL
другой веб-страницы.
Я пробовал так:
.TabWidthSmall { width:149px; }
Я поместил этот селектор в <ul>
, и он не сработал.
Комментарии:
1. Для справки,
!important
это зло. Именно по этой причине, среди прочих.
Ответ №1:
Зачем вам нужен !important
? Правила в CSS каскадируются вниз, использование !important
останавливает этот процесс. Если вы установите ширину для своего родительского элемента ul
и установите другую ширину для любых последующих дочерних элементов ul
— при условии, что селекторы css верны — это будет подхвачено и будет применено к вашему элементу.
В качестве альтернативы, как упоминал @Javad_Amiry, вы также можете использовать !important
для своих дочерних элементов ul
, чтобы переопределить предыдущий !important
, но я бы постарался не использовать так много !important
, поскольку это признак плохого дизайна.
Комментарии:
1. Согласен. Почему в
.tabPage .tabs ul
есть !important, там ваша проблема.
Ответ №2:
попробуйте:
.tabPage .tabs ul.TabWidthSmall {
width:50px !important; /* put new width here */
}
Комментарии:
1. Вы добавили
class="TabWidthSmall"
в свойul
, и он все еще не работал? Что вы видите, если проверяетеul
с помощью Firebug или аналогичного инструмента? Он должен показать вам, какие стили применяются и каков источник для этих стилей.2. Как вы можете видеть в jsfiddle.net/CrqYc это должно сработать! а если нет, то проблема в другом месте. Пожалуйста, добавьте больше строк вашего кода в Q, чтобы получить помощь.