Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Приорететы в класах (https://javascript.ru/forum/xhtml-html-css/41303-prioretety-v-klasakh.html)

SLameN 07.09.2013 21:27

Приорететы в класах
 
<div id='menu'>
<ul id="nav">
<li class='active'><a href='#'></a></li>
</ul>
</div>


.menu {
    background-color: #f4735e;
    width: 100%;
    height: 45px;
    border-radius: 0 0 10px 10px;
}
 
.active {
  background-color: #ffffff;
}
 
#nav {
    font-size: 15px;
    font-family: Tahoma, sans-serif;
    
}
 
#nav li a {
    outline: none;
    text-decoration: none;
    display: block;
    color: #ffffff;
    background-color: #f4735e;
    float: left;
    padding: 15px 15px;
}
 
#nav li a:hover, a:active, a:focus {
    background-color: #a3b754;
}


Не работает class='active'. Что делать, чтобы он заработал?

BETEPAH 07.09.2013 22:48

Цитата:

Сообщение от SLameN
Не работает class='active'. Что делать, чтобы он заработал?

Он работает: http://jsfiddle.net/BETEPAH/CPq8d/
закомментировал пару строчек в css и изменил цвет фона, чтоб стало понятно почему Вы не видите, что он работает

SLameN 07.09.2013 22:56

Странно, что светится вся строка... Ну я думаю вы поняли, что я хотел сделать. Мне нужно, чтобы кнопка (li) подсвечивалась всегда, как это сделать?

danik.js 08.09.2013 06:41

Цитата:

Сообщение от SLameN
Странно, что светится вся строка

Так светится весь LI, а он ведь имеет display не inline, а list-item (по свойствам почти тот же block) и в обычных условиях занимает всю доступную ширину родителя.

SLameN 08.09.2013 09:04

danik.js,
В стилях стоит на li - display: block; Почему у меня тогда 1 кнопка (li) не растягивается на всю ширину? Ладно, это демагогия :) Подскажите, пжлст, как здесь выкрутится?

danik.js 08.09.2013 09:40

Цитата:

Сообщение от SLameN
В стилях стоит на li - display: block;

У тебя еще какие-то стили есть? В этих стилях нет такого правила.
Вот, я добавил outline для LI и видно что он растягивается на всю ширину.

<style>
.menu {
    background-color: #f4735e;
    width: 100%;
    height: 45px;
    border-radius: 0 0 10px 10px;
}
  
.active {
  background-color: #ffffff;
}
  
#nav {
    font-size: 15px;
    font-family: Tahoma, sans-serif;
     
}
  
#nav li a {
    outline: none;
    text-decoration: none;
    display: block;
    color: #ffffff;
    background-color: #f4735e;
    float: left;
    padding: 15px 15px;
}
  
#nav li a:hover, a:active, a:focus {
    background-color: #a3b754;
}

#nav li{
    outline: 1px solid red;
}
</style>
<div id='menu'>
<ul id="nav">
<li class='active'><a href='#'></a></li>
</ul>
</div>

ksa 09.09.2013 10:07

Цитата:

Сообщение от SLameN
Мне нужно, чтобы кнопка (li) подсвечивалась всегда, как это сделать?

Дабы перебить

Цитата:

Сообщение от SLameN (Сообщение 271335)
#nav li a {
    outline: none;
    text-decoration: none;
    display: block;
    color: #ffffff;
    background-color: #f4735e;
    float: left;
    padding: 15px 15px;
}

Нужно писать селекторы большего приоритета.

#nav li a:hover, 
#nav li a:active, 
#nav li a:focus {
    background-color: #a3b754;
}

BETEPAH 09.09.2013 10:13

Взвешиваем селекторы


Часовой пояс GMT +3, время: 05:42.