Autor Zpráva
Ifča
Profil
První dotaz se týká Class a ID. Jak už bylo řečeno clas se může použít v dokumentu několikrát, ID pouze jednou. Znamená to tedy, že takhle je to špatně??

<div id="vlevo-null">
<div id="vlevo">
<h1>Menu 1</h1>
<p>prvni menu</p>
</div>
<div id="vlevo">
<h1>Menu 2</h1>
<p>druhe menu</p>
</div>
</div>

Nebo id="vlevo"´musím rozdělit na id="vlevo1" a id="vlevo2" ???

A druhý dotaz se týká odkazů.
Mám dvě ID a chci pro ně stejné odkazy:
je správně?:
#menu A:visited, #patkatext A:visited
{ text-decoration: none; color: #FFFFFF; }
Proč nefunguje ?
#menu, #patkatext A:visited
{ text-decoration: none; color: #FFFFFF; }

nebo třeba zápis:
.menu A:visited
{ text-decoration: none; color: #FFFFFF; }
a
A.menu :visited
{ text-decoration: none; color: #FFFFFF; }
jaký je v tom rozdíl? Jak přiřadit odkaz více třídám nebo ID? Prosím, je někde o tomhle článek?
habendorf
Profil
První dotaz: je to špatně. Musíš použít div class="vlevo", a nebo v tomto konkrétním případě stačí: #vlevo-null div {vlastnosti} a pak už jen

<div id="vlevo-null">
<div>
<h1>Menu 1</h1>
<p>prvni menu</p>
</div>
<div>
<h1>Menu 2</h1>
<p>druhe menu</p>
</div>
</div>
habendorf
Profil
A k tomu dalšímu: Jak přiřadit odkaz více třídám nebo ID?

To je divná otázka, přiřazuješ třídu nebo ID odkazu, ne obráceně.

a {vlastnosti} - definuje vlastnosti pro všechny odkazy v celém dokumentu
.left a {vlastnosti} - vlastnosti odkazu, který se nachází v elementu s třídou left
(třeba: <div class="left"><a ....>tento link má jiné vlastnosti než ostatní linky</a></div>
Hugo
Profil
misto ID pouzij class a muzes to mit v dokumentu tak casto jak potrebujes
Petra
Profil
Pokud jsou "vlevo" nějaké stejné boxíky, použij class="vlevo". Tak jak to máš, je to špatně, protože tam máš dvakrát id="vlevo", smí to být jak píšeš pouze jednou. (Mimochodem ani h1 - hlavní nadpis stránky bys neměla používat víc než jednou a taky ne jako nadpisky v menu)

Ad odkazy - to první je správně, jestli jsi to tak chtěla :-) to druhé tam nebude fungovat samotné #menu, je tam potřeba určit i ten "a".

Rozdíl v posledních dvou zápisech je v tom, že první definuje vlastnosti odkazu, který je zapsán v HTML třeba takto:
<p class="menu"><a href="#">odkaz</a>

Druhý může být zapsán takto:
<a class="menu">odkaz</a>
Tzn. tímto zápisem definuješ styl přímo u jednoho konkrétního odkazu, tím předchozím zápisem definujes jak mají být ostylované odkazy v celém jednom elementu.
(jinak ta mezera mezi menu a dvojtečka visited by tam být neměla)

Jestli myslíš, aby měl jeden odkaz více tříd, tak normálně napíšeš <a class="jednatrida druhatrida">
Ifča
Profil
Aha... takže opravdu ID musí být jen jednou. I když se mě to správně zobrazuje, nemůžu vědět kdy mi to udělá někdy nějaké problémy.
Já mám totiž pro vlevo-null i vlevo jiné vlastnosti:
#vlevo-null {
width: 190px;
float: left;
padding: 0;
background-image: url(images/hlavicka_03.jpg);
background-position: top left;
background-repeat: no-repeat;

}
#vlevo {
padding: 5px;
background-color: #475E66;
margin: 40px 0px 0px 10px;
border: 3px solid #F5FFFA;
}
Takže tady musím použít <div class="vlevo">
Díky :o)
habendorf
Profil
Takže tady musím použít <div class="vlevo">

pak ale nesmíš mít #vlevo, ale .vlevo
habendorf
Profil
Ještě jen trochu učesat...

background-image: url(images/hlavicka_03.jpg);
background-position: top left;
background-repeat: no-repeat;

je asi lepší takto:
background: url(images/hlavicka_03.jpg) top left no-repeat;
Ifča
Profil
to habendorf: jojo, učesat, já vím... zatím jen vše zkouším :o) nerada bych pak měla 100kb soubor CSS :o)

to Petra: já vůbec netušila, že ani <h1>... by se neměli opakovat, přitom jsem to zcela běžně používala...

K těm odkazům: já jsem chtěla pro více elmentů zadat stejné odkazy, čili pro dvě ID takto
#menu A:visited, #patkatext A:visited
{ text-decoration: none; color: #FFFFFF; }
což je správně :o) to abych se nemusela pořád v tom CSS souboru opakovat.
Totéž asi platí i pro třídy, že?

Ale jak např. ještě zapsat, když totéž budu mít pro A:active?
Takto??
#menu A:visited, #patkatext A:visited, #menu A:active, #patkatext A:active
{ text-decoration: none; color: #FFFFFF; }
habendorf
Profil
No já bych na to celé šel přesně obráceně.

.jinyodkaz {vlastnosti}
.jinyodkaz:visited {vlastnosti}
.jinyodkaz:active {vlastnosti}

a pak v html:

<div id="menu"><a class="jinyodkaz" ....>
<div id="patkatext"><a class="jinyodkaz" ....>
Ifča
Profil
Aha... i tak se to dá. No... teprv začínám a už v tom mám guláš :o)))
Petra
Profil
Ifča
Ano, přesně tak jak píšeš, pro třídy to platí stejně.

habendorf
To je imho neefektivní, menu i patka budou mít víc odkazů a psát to ke každýmu zvlášť mi přijde na víc práce než napsat o selektor víc do stylopisu.
habendorf
Profil
Petra: no jasně, v tom případě #menu a {vlastnosti}. Viz můj úplně první příspěvek (#vlevo-null div {vlastnosti})
habendorf
Profil
Ifča: Jinak ještě jedna věc: ID je z hlediska css naprosto zbytečné, vždy vystačíš s class (co na tom že ji použiješ pro jeden jediný prvek). Já třeba ID používám výjimečně, a to jen pro svou lepší vlastní orientaci v zápisu, aby mě trklo do očí - tahle věc je tady jen jednou.
Ifča
Profil
Díky všem za objasnění :o)

Ještě mám dotaz ohledně odkazů.
Dejme tomu, že mám definované klasické odkazy, které se budou vyskytovat běžně kdekoli v textu:
A { font-size: 10pt; font-weight: bold; }
A:visited { text-decoration: none; color: #E5EBEB; } /* svetle zelena */
A:link { text-decoration: none; color: #E5EBEB; } /* svetle zelena */
A:active { text-decoration: none; color: #FF6F04; } /* oranzova */
A:hover { text-decoration: none; color: #2F4F4F; } /* tmavsi zelena */

Pak chci mít ty odlišné odkazy jen pro menu. Musím opět jen pro menu definovat zase všech pět, nebo stačí jen
#menu A:active { text-decoration: none; color: #FF6F04; }
#menu A:hover { text-decoration: none; color: #2F4F4F; }
a ty zbývající tam být nemusí (tj. #menu A, #menu A:visited, #menu A:link) ??
habendorf
Profil
Když to napíšeš takhle, tak v menu bude jiný active a hover, ostatní budou stejné jako v celém dokumentu.
Jen poznámka: možná je lepší si to vyzkoušet sama, člověk se tím naučí nejvíc :o)
Ifča
Profil
Ifča: Jinak ještě jedna věc: ID je z hlediska css naprosto zbytečné, vždy vystačíš s class...

No já sama ještě nevím jak to použít. Zatím jsem si prostudovala jak udělat ty gumové sloupce (2 nebo3), jak do toho zapasovat tu grafiku viz: http://www.goldendy.cz/web/index.htm (i když není dotažena do konce) a všichni tam používají ID. Tak jsem si řekla, že ID použiji jen na ty objekty (asi tak tomu říkáte) a dále budu používat class. Ovšem to 2x id="vlevo" to je fakt blbost, dám tam class.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0