PDA

Просмотр полной версии : Как сделать меню


EnergY_Queen
13.02.2009, 09:04
Подскажите пожалуйста как сделать такое меню:
Уровень 1 (1)

--Уровень 2 (1)
--Уровень 2 (2)
--Уровень 2 (3)

Уровень 1 (2)

--Уровень 2 (1)
--Уровень 2 (2)
--Уровень 2 (3)

Уровень 1 (3)

--Уровень 2 (1)
--Уровень 2 (2)
--Уровень 2 (3)

чтоб Уровень 1(1) и 1(2) были красного цвета а уровень 1(3) черного?

-=UncleByte=-
13.02.2009, 14:14
Поиск по форуму и http://w3schools.com/css/ помогут.

Exkawator
20.03.2009, 09:10
У меня тоже вопрос по меню. Можно задам его тут.
Моё меню стандартно:
lib.menu_1 = HMENU
lib.menu_1.1 = TMENU
lib.menu_1.1 {
NO.allWrap = <span class="menu-no">&emsp; | </span>
NO.stdWrap.htmlSpecialChars = 1
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <span class="menu-act">&emsp; | </span>
}
И код оно генерирует вполне логичный:<td id="menu_1">
<span class="menu-act">&emsp;
<a href="index.php?id=11" onfocus="blurLink(this);">Главная</a></span>
<span class="menu-no">&emsp;
<a href="index.php?id=12" onfocus="blurLink(this);">Новости</a></span>
<span class="menu-no">&emsp;
<a href="index.php?id=13" onfocus="blurLink(this);">Форум</a></span>
</td>Вот мои вопросы:
Можно ли попросить Typo3 присваивать классы тегам <a>? Т.к. нужные мне свойства он не может унаследовать от тега <span>

ksevelyar
20.03.2009, 11:35
Используйте селекторы потомков. Это css.

Например:

#menu_1 a {...} или .menu-act a {...}

Если что можно сделать с помощью css - лучше сделать именно через стили, а не через typoscript.

void
20.03.2009, 11:59
Можно и класс...
NO.ATagParams = class="something"

Exkawator
20.03.2009, 12:17
Используйте селекторы потомков...
Именно это я и пробовал:
a:hover {color: #555555;}
.menu-no {color: #FFFFFF;}
a.menu-no:hover {color: #FF0000;}
но свойство hover не наследуется :rolleyes:

...NO.ATagParams = class="something"
Пасиб!
То что надо!

ksevelyar
20.03.2009, 12:32
Нет. Вы пробовали селектор класса.

.menu-no {color: #FFFFFF;} и .menu-no a {color: #FFFFFF;} - это разные селекторы.

-=UncleByte=-
20.03.2009, 12:42
Именно это я и пробовал:
a:hover {color: #555555;}
.menu-no {color: #FFFFFF;}
a.menu-no:hover {color: #FF0000;}
но свойство hover не наследуется :rolleyes:
В вашем случае css для наследования свойств именно ссылкой от спана должен был бы выглядеть как
span.menu-no a {color: #FFFFFF;}
span.menu-act a {color: #FF0000;}но все равно по событию hover отрабатывалось бы правило указанное для всех ссылок с hover, а не только для вложенных в span.

Exkawator
20.03.2009, 14:59
ksevelyar, ты прав. Но я пробовал и
.menu-no a {}
и
a.menu-no {}

...но все равно по событию hover отрабатывалось бы правило указанное для всех ссылок с hover...
Поэтому и суечусь ;)

Вопрос #3
Как убрать onfocus="blurLink(this);" из тега <a>?
Я его не использую. Мешается :)

-=UncleByte=-
20.03.2009, 15:10
Проще всего прописывать всегда полные css для ссылок со всеми псевдоатрибутами с привязкой к оборачивающему элементу. Например:
span.menu a:link, span.menu a:visited {color:#FFF;}
span.menu a:hover, span.menu a:active, span.menu-act a {color:#F00;}И вот тут как раз span.menu-act a и будет отвечать за активное состояние, которое описывает ACT.

№3 - обычно ставлю sourceopt и он все чистит.

razawa
20.03.2009, 18:51
1 = TMENU
1 {
noBlur = 1
... ...
}
Я блюра у себя не замечал. Оно?

-=UncleByte=-
20.03.2009, 19:02
Да, оно. Просто я обычно довольствуюсь каким-либо одним средством и если уж sourceopt все чистит, то писать дополнительно конфиг не нужно.