CSS help!

12
S
На сайте с 30.04.2012
Offline
73
745

Добрый

не могу понять что происходит

наследование css идет непонятным образом - см номера строк

где грабли?

дани мапов
На сайте с 06.09.2012
Offline
204
#1

Запоминаем, что впринципе очевидно:

селектор по ID - наибольший вес

по классу - на порядок меньше

по элементу - еще на порядок меньше

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
S
На сайте с 30.04.2012
Offline
73
#2

Логично, вроде бы. Мне тоже так казалось.

Но тогда почему почему второй селектор по ID не имеет больший вес чем первый?

V
На сайте с 10.01.2012
Offline
85
#3

Как не странно, но замечал что еще влияет и их расположение в самом css - поменяйте местами

Еще как вариант - применить ко второму !important

хотя еще зависит и от структуры самого HTML

samimages
На сайте с 31.05.2009
Offline
427
#4

Sorento, проблема в первом куске кода?

Сорри не силен в терминологии, но глюк достаточно частый, когда из-за запятой наследуются именно те стили, элементы которых даны через запятую.

Перепишите построчно... или clear:both; можно попробовать.

Во втором случае будет работать #pricelist-table table{}

Опыт как иммунитет — приобретается в муках! Аудит семантики от 15К [долго] - ЛС
virtuozo
На сайте с 05.04.2012
Offline
34
#5

Потому что первый - без черточки, он задает правила для всех таблиц под этим ID. Если вам нужно сменить какое-то из правил - пишите important

дани мапов
На сайте с 06.09.2012
Offline
204
#6
Sorento:
Логично, вроде бы. Мне тоже так казалось.

Но тогда почему почему второй селектор по ID не имеет больший вес чем первый?

Чем более специфичен селектор, тем больший вес он получает при конфликтах. Я не знаю, какой там код у вас. Пример, лишь для демонстрации:

CSS


.green div {color:green;}
.red {color:red;}


<div class="green red">
<div>
text
</div>
</div>

Текст будет зеленый.

V
На сайте с 10.01.2012
Offline
85
#7

дани мапов, это логично, потому что

green div {color:green;}

Красным он никак не может быть из-за структуры)))

S
На сайте с 30.04.2012
Offline
73
#8
Sorento:

Решение было найдено без important такое:

table#pricelist-table{

}

не знаю, насколько оно соответствует стандарту, но пока работает

Что лучше, оставить так или изменить на important?

V
На сайте с 10.01.2012
Offline
85
#9

Sorento, Да без разницы по сути))

дани мапов
На сайте с 06.09.2012
Offline
204
#10
Varenik:
дани мапов, это логично, потому что
green div {color:green;}

Красным он никак не может быть из-за структуры)))

Не уловили суть примера. А если так?)))


.green {color:green;}
.red {color:red;}
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий