Diskuze: CSS odkaz jen v divu

HTML a CSS HTML a CSS CSS odkaz jen v divu American English version English version

Avatar
onlyluckcze
Člen
Avatar
onlyluckcze:

Ahoj,
potřebuju udělat, aby se odkaz projevil jen v určitém divu.

#menu a,a:link,a:visited {
        font-size: 28px;
        font-family: 'Roboto', sans-serif;
        color: #888;
        text-shadow: 1px 1px 1px #fff;
}

tohle jsem zkoušel, ale změny se projeví globálně, tak nevím, co dělám špatně.

 
Odpovědět 23.3.2015 17:45
Avatar
Fredep
Redaktor
Avatar
Odpovídá na onlyluckcze
Fredep:

Ahoj, stačí pokud napíšeš

#menu a {..}

Pokud bys chtěl vložit nutně i to za tou čárkou, nesmíš zapomenout na #menu.

#menu a, #menu a:link, #menu a:visited {..}

Jen dodám, že toto

selektor1, selektor2 {...}

je to samé jako toto

selektor1 {...}
selektor2 {...}
Editováno 23.3.2015 18:06
Nahoru Odpovědět 23.3.2015 18:04
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na onlyluckcze
Honza Bittner:

Ty totiž nepoužíváš jeden selektor, ale hned tři.

1) #menu a
2) a:link
3) a:visited

Pokud tedy chceš mít tyto styly jen pro odkazy v elementu s ID #menu, pak musíš udělat něco takovéhoto.

#menu a,
#menu a:link,
#menua:visited {
  ... styly ...
}

Každopádně ID pro stylování výrazně nedoporučuji, mají totiž přímo ultimátní prioritu, tedy je nelze přepsat např. třídou. Což si můžeš spočítat zde http://specificity.keegan.st/ a zobrazit zde http://jonassebastianohlsson.com/…icity-graph/

Akceptované řešení
+5 Zkušeností
Řešení problému
Nahoru Odpovědět 23.3.2015 18:28
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Tomáš123
Člen
Avatar
Odpovídá na Honza Bittner
Tomáš123:

To je vlasnosť identifikátora. Má väčšiu prioritu ako trieda, ale že by sa nedal prepísať to by som netvrdil a neuvádzal to ako dôvod, prečo je zlé použitý. Podľa mňa je v tomto prípade použitý dobre. Ak by sme hovorili o externom CSS súbore existovali by tri cesty ako prebiť deklaráciu (nerátam rôzne variácie prevedenia), ak hovoríme o internom štýle zápisu, existujú 2 cesty (bez kombinovania) a nakoniec pri inline zápise je to iba jedna metóda, a to pridanie !important, čo je ale dosť špinavé riešenie a takmer vždy sa dá kód upraviť tak, aby takéto "posilňovače" neobsahoval.

Nahoru Odpovědět  -1 23.3.2015 18:39
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Tomáš123
Honza Bittner:
  1. styly se píší bez !important
  2. styly se píší bez ID

Proč? Jak jsem již napsal, tak hlavním důvodem je přímo ultimátní priorita. Dá se to samozřejmě přepsat selektorem o stejné "hodnotě", ale přiznejme si, že na webu budu přidávat spíše třídy (které pak nemají šanci přepsat ID), nežli ID...

Nahoru Odpovědět 23.3.2015 18:49
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Tomáš123
Člen
Avatar
Odpovídá na Honza Bittner
Tomáš123:

1.? Veď hovorím o tom istom... Prečítaj si poslednú vetu.
2. Nesúhlasím, id sa na aplikovanie CSS používajú a nie je to nevýhoda. Nie je dobre HTML preidentifiká­torovať, ale považovať ich použitie za škodlivé je plytké.

Ak niekto nevie kedy čo zvoliť a krížia sa mu deklarácie kde vyhráva tá najsilnejšia (a vedie to k neočakávaným výsledkom), asi bude lepšou radou príkaz "Začni rozmýšľať!" či "Nauč sa písať čistý kód!". Zákaz používania identifikátorov kvôli ich sile nikam nevedie.

onlyluckcze očividne s týmto problém nemá.

Nahoru Odpovědět  -3 23.3.2015 19:47
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Tomáš123
Honza Bittner:

„Nemusíš sníst celé hovno, abys poznal, že to není piškotový dort.“

Nahoru Odpovědět  +3 23.3.2015 20:54
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Tomáš123
Jiří Gracík:

Nikdo tu nemluví o zákazu. Ale používání ID je prasárna :)

Editováno 23.3.2015 21:00
Nahoru Odpovědět 23.3.2015 21:00
Creating websites is awesome till you see the result in another browser ...
Avatar
Michal Žůrek (misaz):

tak já jsem asi divný, ale když mám na webu něco jedinečného a chci to ostylovat, tak tam dám normální # a neplácám tomu ještě class, protože mi to přijde zbytečné.

Nahoru Odpovědět  +2 23.3.2015 21:08
Nesnáším {}, proto se jim vyhýbám.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Honza Bittner:

Znáš filozofii (nebo jak to nazvat) OOCSS? :)

Nahoru Odpovědět 23.3.2015 21:09
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
onlyluckcze
Člen
Avatar
onlyluckcze:

Díky všem, funguje. :)

 
Nahoru Odpovědět 23.3.2015 21:55
Avatar
Tomáš123
Člen
Avatar
Odpovídá na Honza Bittner
Tomáš123:

Ja tú fylozofiu nepoznám... Máš ešte nejaký iný dôvod prečo nepoužívať id okrem vyššie spomenutého?

Jiří Gracík:
Prečo je to "prasárna"?

Nahoru Odpovědět 23.3.2015 22:26
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
BlugW
Redaktor
Avatar
Nahoru Odpovědět  +1 23.3.2015 22:38
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.