Stránka 1 z 2

CSS - jak na formát pomocí ID

Odeslat příspěvekNapsal: 12. 2. 2007 09:50
od windsurfeeer
Mám menu formátované pomocí CSS a aktivní položka má navíc parametr ID. Jak mám nastavit CSS aby se aktivní položka zobrazovala jinač než ostatní?

Kód: Vybrat vše

Aktivní položka:
<a href="http://..." class="mainlevel" id="active_menu">Odkaz1</a>
Neaktivní položka:
<a href="http://..." class="mainlevel">Odkaz2</a>
[/co
SS pro mainlevel v levém sloupci
Kód: Vybrat vše

#left .mainlevel {
  font-weight: bold;
  font-size: 10px;
  text-decoration: none;
  display: block;
  _width: 100%;
}


Nevím jak mám napsat ten první řádek CSS (začínající kříčkem) aby se to odkazovalo na active_menu, tedy aby Odkaz1 měl například font-size: 20px; zatímco Odkaz2 má 10px?


Děkuji.

Odeslat příspěvekNapsal: 12. 2. 2007 10:13
od Christof
#active_menu {}

Odeslat příspěvekNapsal: 12. 2. 2007 10:26
od windsurfeeer
Díky, ale žádná změna. Přidal jsem do css tohle:
Kód: Vybrat vše
#active_menu {
  font-size: 20px;
}

Odeslat příspěvekNapsal: 12. 2. 2007 11:02
od anonymni
skus
Kód: Vybrat vše
.active_menu {
  font-size: 20px;
}

Odeslat příspěvekNapsal: 12. 2. 2007 11:14
od windsurfeeer
právě že různé varianty typu:
.active_menu
#active_menu
#left .active_menu
#left active_menu
#left mainlevel.active_menu
#left mainlevel.active_menu
mainlevel .active_menu
atd.

jsem bezúspěšně zkoušel. Ale protože nechápu přesně syntaxi těch křížků a teček tak jsem asi nenarazil na správnou kombinaci. :(

Celé je to v <div class="left"> jakože levý sloupec. V něm je klasická navigace dělaná tabulkou. Uvnitř tabulky je na každém řádku tabulky v samostatném <tr><td></td></tr> jeden odkaz. Každá položka tabulky má <a class="mainlevel"> a jen ten aktivní odkaz má <a class="mainlevel" id="active_menu">.

Odeslat příspěvekNapsal: 12. 2. 2007 11:17
od charlie42
#active_menu .mainlevel

Odeslat příspěvekNapsal: 12. 2. 2007 11:34
od anonymni
nebolo by lepsie zmenit rovno class?

Odeslat příspěvekNapsal: 12. 2. 2007 11:38
od windsurfeeer
#active_menu .mainlevel taky ne :( Už to vypadá jakobych editoval jiné css, ale když zedituju jiný parametr, tak se mi to ve stránce projeví, tudíž chyba je jinde.

Ale teď jsem si všimnul že ten první div má ID=left a ne class=left jak jsem napsal výše. Takže mám uvnitř ID=left další samostatný tag s ID=active_menu. Nemůže se tohle dvojité IDiotství nějak ovlivňovat?

Jestli jsem to pochopil správně, tak v css souboru před název ID se dává křížek a před názvem class je tečka. A když je to bez ničeho, jde o název tagu. Yo?

Odeslat příspěvekNapsal: 12. 2. 2007 11:40
od anonymni
skus si precitat http://www.jakpsatweb.cz rubriku css
ale ja osobne by som rovno menil cele class pomocou php

Odeslat příspěvekNapsal: 12. 2. 2007 11:40
od windsurfeeer
hicotech píše:nebolo by lepsie zmenit rovno class?


Nechci hackovat php kód. Jde o CMS Joomla a když bych udělal upgrade, tak bych o ten hack zas přišel.

Odeslat příspěvekNapsal: 12. 2. 2007 11:45
od anonymni
a oni to tam nemali vyriesene?

Odeslat příspěvekNapsal: 12. 2. 2007 11:53
od Kyosuke
*#active_menu

Odeslat příspěvekNapsal: 12. 2. 2007 12:01
od Kyosuke
Ale je to divné, i #active_menu by mělo fungovat a mělo by mít maximální prioritu. Jaký prohlížeč používáš? Debugnout to můžeš pomocí Firefoxu a Web Developer toolbaru – myslím, že umožňuje zobrazit celou kaskádu.

Odeslat příspěvekNapsal: 12. 2. 2007 12:03
od windsurfeeer
Už jsem zjistil, kde je problém:
class přebíjí hodnotu ID, tedy když mám nastaveno v class font-size: 10px a v ID font-size: 20px, tak se použije těch 10. Takže nová otázka:

Lze nějak upřednostnit ID před CLASS?

Edit: FF zkusím doma, tady jedu na IE, resp. SlimBrowseru který využívá IE. *#active_menu ani *#active_menu .mainlevel taky nepomáhají. Chjo...

Odeslat příspěvekNapsal: 12. 2. 2007 12:11
od Kyosuke
Máš něco rozbitý, protože ID přebíjí hodnotu class. ;-)