Sergey Muhidze
64 сообщения
#16 лет назад
Как отобразить в CSS вот такой блок:
<li id="current" class="active item10">
?
Смущает собсно пробел в "active item10"
Болатов А.
1090 сообщений
#16 лет назад
Чем смущает?
Виталий С.
30 сообщений
#16 лет назад
sergey1812, не могу понять, зачем тебе помощь именно ПРОФЕССИОНАЛА, если ты задаешь ламерский вопрос ?

п.с. В твоем случае для блока заданы сразу два класса стилей: active + item10. При этом свойства второго класса (того, что item10) будут важнее свойств первого, так что тут нужно быть внимательней )))
Sergey Muhidze
64 сообщения
#16 лет назад
Цитата ("Strutinskiy"):
зачем тебе помощь именно ПРОФЕССИОНАЛА, если ты задаешь ламерский вопрос

1. Чтобы вопрос вызвал повышенный интерес
2. Чтобы ламеры не совались в тему

Я пробовал вот так оформить:

#current .active item10 {
бла-бла-бла;
}

Но не работает.
Sergey Muhidze
64 сообщения
#16 лет назад
Вопрос решен самостоятельно:

#current.active.item10 {
бла-бла-бла;
}
Виталий С.
30 сообщений
#16 лет назад
Цитата ("sergey1812"):
1. Чтобы вопрос вызвал повышенный интерес

Ты думаешь что если просто спросить, то знающие люди не будут заходить, так как "это не их уровень" вопроса? В общем, пункт не засчитан.

Цитата ("sergey1812"):
2. Чтобы ламеры не совались в тему .

А сам почему тогда полез?

Цитата ("sergey1812"):
Я пробовал вот так оформить:

#current .active item10 {
бла-бла-бла;
}

Но не работает.


Читай мой "п.с.", там все написано. А если не понятно, то читай мануалы по CSS.

Добавлено:

Цитата ("sergey1812"):
Вопрос решен самостоятельно:

#current.active.item10 {
бла-бла-бла;
}

Это не решение - это просто неправильное применение )))
Sergey Muhidze
64 сообщения
#16 лет назад
Цитата ("Strutinskiy"):
Это не решение - это просто неправильное применение )))

Я тоже подозреваю, что синтаксис неверный. Подскажи что неправильно? В принципе работает и так (проверил в 4 браузерах), но лучше пусть будет как должно быть.

Цитата ("Strutinskiy"):
А сам почему тогда полез?

Я автор темы, мне можно
Болатов А.
1090 сообщений
#16 лет назад
Цитата ("sergey1812"):
Вопрос решен самостоятельно:

#current.active.item10 {
бла-бла-бла;
}

Чушь.

#current.active { ... }
#current.item10 { ... }
Виталий С.
30 сообщений
#16 лет назад
sergey1812, за правильную реацию +

В общем так: если идет запись типа class="active item10", то значит к этому блоку применяются ДВА класса стилей, а именно:

.active {
бла-бла-бла
блу-блу-блу
}
.item10 {
бла-бла-бла
}

Сделано это для того, что если у тебя есть ещё какой-то блок, которому нужно использовать только такие свойства, как в класса "active", то к нему и подключается этот класс. Но в твоем случае тебе нужны все свойства класса "active" + свойства класса "item10". И чтоб не создавать новый класс (чтоб не плодить одно и то же в стилях) мы просто вписываем два-три стиля через запятую.
Если очень интересно, то в профиле есть аська - стукнись, подскажу что к чему
Sergey Muhidze
64 сообщения
#16 лет назад
Strutinskiy, alibek, спасибо.
Болатов А.
1090 сообщений
#16 лет назад
Цитата ("Strutinskiy"):
мы просто вписываем два-три стиля через запятую.

Пробел.
Артем Л.
11416 сообщений
#16 лет назад
Хоть в цсс и не очнь силен, но помойму это делается вот так:
.active {
бла-бла-бла;
}

.item10 {
бла-бла-бла;
}
Артем Л.
11416 сообщений
#16 лет назад
ЧертЪ, опередили меня
Дмитрий П.
441 сообщение
#16 лет назад
Цитата ("sergey1812"):
#current.active.item10
Это правильно. Только не будет работать в IE6 и более ранних.

Цитата ("alibek"):
Чушь.
Не знаете - не говорите. По крайней мере не так категорично.

Цитата ("Strutinskiy"):
А если не понятно, то читай мануалы по CSS.
Прежде чем понтоваться и хамить создателю топика, сами бы лучше своему совету последовали:
Sergey Muhidze
64 сообщения
#16 лет назад
Цитата ("sukebe"):
Это правильно. Только не будет работать в IE6 и более ранних.

В IE 6 работало - проверял.

Цитата ("sukebe"):
Прежде чем понтоваться и хамить создателю топика

+1
Закрыл глаза, взглянув на возраст Strutinskiy. Терпимее нужно быть, господа. И если ламер просит помочь, не нужно глядеть на него сверху вниз.
Дмитрий П.
441 сообщение
#16 лет назад
Цитата ("sergey1812"):
В IE 6 работало - проверял.

Значит, в более ранних не работает Писал по памяти, ошибся.
Валентин К.
133 сообщения
#16 лет назад
Цитата ("sukebe"):
Значит, в более ранних не работает Писал по памяти, ошибся.

Я тоже помню что не работало в ИЕ6.. сейчас не проверял, нет чистой ие6..
Виталий С.
30 сообщений
#16 лет назад
Цитата ("sukebe"):
Цитата ("sergey1812"):
#current.active.item10
Это правильно. Только не будет работать в IE6 и более ранних.l

Это не совсем правильно, так как при написании "#current.active.item10" Вы указываете свойства для ОДНОГО класса, а конструкция class="active item10" призвана объединить два класса стилей для одного элемента.
Также, конструкция #current.active.item10 - это иерархическое указание для класса "item10", то есть, эти свойства применяться лишь для элемента, который помещен в элемент с классом "active" и айди-класс "current".

п.с. По этому вопросу - если не работает в ИЕ6, то значит оно не работает правильно, так как этот прием использовался ещё во времена 6-ого осла

Цитата ("sukebe"):
Цитата ("Strutinskiy"):
А если не понятно, то читай мануалы по CSS.
Прежде чем понтоваться и хамить создателю топика, сами бы лучше своему совету последовали: ]http://www.w3.org/TR/CSS2/selector.html#class-html

Я не понтовался и не хамил, просто мне не нравится "кричащие" названия, которые не соответствуют содержанию + данная конструкция есть в большинстве заметок-шпаргалок по CSS. Но в целом отношение ТСа с некомпетентным в этих вопросах людям тоже меня малость зацепило, потому я и ответил жестко, НО не грубо, так как при любых раскладах ничего против ТС не имею!
Дмитрий П.
441 сообщение
#16 лет назад
Цитата ("Strutinskiy"):
Это не совсем правильно, так как при написании "#current.active.item10" Вы указываете свойства для ОДНОГО класса, а конструкция class="active item10" призвана объединить два класса стилей для одного элемента.
Также, конструкция #current.active.item10 - это иерархическое указание для класса "item10", то есть, эти свойства применяться лишь для элемента, который помещен в элемент с классом "active" и айди-класс "current".

Селектор #current.active.item10 интерпретируется как "применить к элементу, имеющему ID current и классы active и item10". Что здесь не так? Вижу массу вариантов, где это можно применить.

Мне кажется, Вы путаете понятие класса (т.е. аттрибута элемента, который может иметь композитное значение) и набора правил (ruleset), который состоит из селектора и деклараций.
В CSS нет такой вещи, как "класс стилей". Есть только "класс элемента".

update: Кстати, конструкция class="active item10" вообще со стилями (CSS) напрямую не связана. Она говорит только, что данный элемент относится к элементам классов active и item10. Как это будет использоваться дальше, css/javascript/парсинг документа чем-то - это уже другой вопрос. Раз уж мы в идеологию CSS/HTML полезли.
Виталий С.
30 сообщений
#16 лет назад
Просто мне непонятно использование такой конструкции

#current.active.item10 {
бла-бла-бла
}
+
<div class="active item10">Text</div>


вместо

#current.item10 {
бла-бла-бла
}
+
<div class="item10">Text</div>


По сути и то и другое указывает на применение одних и тех же "наборов правил", как бы я их не называл.

п.с. С понятиями и названиями согласен, могу неправильно их называть, хотя, "класс элемента" - это не CSS, а разметка, то есть HTML (ведь именно в нем прописывается класс), а в CSS - это больше набор правил