css na jednu stránuku webu
05. říj 2016 16:22 #128635
Jak v css mohu ovlivnit jen jednu staránku webu.
Když dám
nefunguje mi již za to nic přidat, třeba
je již nefunkční,. Jde to nebo jen někde dělám chybu?
Když dám
Code:
body#tmpl-9 id939 {
}
Code:
body#tmpl-9 id939 #flowers {display:none;
}
je již nefunkční,. Jde to nebo jen někde dělám chybu?
05. říj 2016 16:38 #128636
Odpověď od Cony

Moderátor
A to id939 je co? pokud je to nějaká třída, chybí Vám na začátku tečka, pokud je to id, chybí tam křížek.
05. říj 2016 20:27 #128641
Odpověď od Ernst
Joomla Expert
takhle mě to tam napíše developer tool
když na této řádce vytvořím new style rule.
tedy nevypisuji to ručně
když na této řádce vytvořím new style rule.
tedy nevypisuji to ručně
05. říj 2016 21:45 #128643
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Odpověď od karel

Zkušený uživatel
Při sestavování CSS selektorů záleží na vnořenosti html elementů a případně na jejích nastavených atributech.
CSS Selektor body#tmpl-9 id939 by platil pro html:
a v druhém případě by muselo být HTML:
Co máte v kódu Vy, víte Vy ...
CSS Selektor body#tmpl-9 id939 by platil pro html:
Code:
<body ... id="tmpl-9" >
...
<id939>
....
</id939>
....
Code:
<body ... id="tmpl-9" >
...
<id939>
...
<libovolny_html_tag ... id="flowers" > ....
...
</id939>
....
Co máte v kódu Vy, víte Vy ...
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Poděkovali: Ernst
07. říj 2016 11:09 #128672
Odpověď od Ernst
Joomla Expert
Děkuji, díky pokusům jsem to již taky pochopil. stačí napsat:
to body#tmpl-9 id939 není třeba vůbec uvádět
Code:
.id939{display:none;}
07. říj 2016 15:34 #128675
Odpověď od Martens
Uživatel
Ahoj, fajn, že jsi to pochopil, jenže to vypadá, že tam máš stále stejnou chybu, jak psal Cony.
V kódu níže máš definici pro element třídy id939 (s tečkou)
Zatímco tady se odkazuješ na element id939 (tedy na něco podobného jako je tag <h1>, <p>, atp.) a tedy to pak ovlivní (či neovlivní) v kódu zcela něco jiného a tedy obě ukázky css kódu jsou zcela odlišné.
Jen pro upřesnění:
by měl ovlivnit jen instanci elementu třídy .id939 jen pokud bude vnořená v elementu <body> s id=tmpl-9, zatímco
ovlivní element třídy id939 kdekoliv na stránce. Tolik jen pro upřesnění k tomu odstranění body#tmpl-9.
V kódu níže máš definici pro element třídy id939 (s tečkou)
Code:.id939{display:none;}
Zatímco tady se odkazuješ na element id939 (tedy na něco podobného jako je tag <h1>, <p>, atp.) a tedy to pak ovlivní (či neovlivní) v kódu zcela něco jiného a tedy obě ukázky css kódu jsou zcela odlišné.
to body#tmpl-9 id939 není třeba vůbec uvádět
Jen pro upřesnění:
Code:
body#tmpl-9 .id939{display:none;}
Code:
.id939{display:none;}
07. říj 2016 20:05 - 07. říj 2016 20:05 #128678
Odpověď od Ernst
Joomla Expert
jasně, to chápu, ale body je hned na začátku stránky jako nejvyšší úroveň a to IDxxx určuje, na které stránce jsem. jinak v css stránku rozlišit neumím.
a kyž použiji třeba
tak se mojetrida neskryje, to znamená že body#tmpl-9 id101 má v css nějaká omezení
a kyž použiji třeba
Code:
body#tmpl-9 id101 .mojetrida{
display: none;
}
07. říj 2016 20:18 #128679
Odpověď od Ernst
Joomla Expert
jasně, to chápu, ale body je hned na začátku stránky jako nejvyšší úroveň a to IDxxx určuje, na které stránce jsem. jinak v css stránku rozlišit neumím.
a kyž použiji třeba
tak se mojetrida neskryje, to znamená že body#tmpl-9 id101 má v css nějaká omezení
v podstatě mohu dát také
ale jak tam mám dát id101, které rozlišuje stránku
a kyž použiji třeba
Code:
body#tmpl-9 id101 .mojetrida{
display: none;
}
v podstatě mohu dát také
Code:
body .mojetrida{
display: none;
}
07. říj 2016 20:21 #128681
Odpověď od Ernst
Joomla Expert
v podstatě mohu dát také
ale jak tam mám dát id101, které rozlišuje stránku
Code:
body .mojetrida{
display: none;
}
07. říj 2016 20:27 #128682
Odpověď od Martens
Uživatel
Zkus tu vložit kus kódu nebo odkaz, kde figuruje to id101 .... zase přesně jak psal Cony ..... zřejmě to vypadá, že nemáš jasno, jestli je to něco jako <id101> nebo něco jako <div class=id101> ... podle toho by pak vypadal zápis v css.
Pokud by to bylo <id101>, tak zápis v css by byl
pokud by to byl např. <div class=id101>, tak v css bude zápis
Ale to už se teoretizuje až moc ...kus kódu nebo odkaz by fakt pomohl.
Pokud by to bylo <id101>, tak zápis v css by byl
Code:
body id101 .mojetrida
{
display: none
}
pokud by to byl např. <div class=id101>, tak v css bude zápis
Code:
div .id101 .mojetrida
{
display: none;
}
Ale to už se teoretizuje až moc ...kus kódu nebo odkaz by fakt pomohl.
07. říj 2016 20:59 - 07. říj 2016 21:04 #128684
Odpověď od Ernst
Joomla Expert
ani jedno z výše uvedených nefunguje
php pošle prohlížeči
vidět je to v www.diochi.cz
ve zdroji jsem našel jen
php pošle prohlížeči
Code:
<body id="tmpl-9 id101" data-tablet-width="940" data-mobile-width="580" data-bg="1" class="index" ng-init="visible = false" style="position: static;" cz-shortcut-listen="true">
vidět je to v www.diochi.cz
ve zdroji jsem našel jen
Code:
<body id="tmpl-9 id101" data-tablet-width="940" data-mobile-width="580" data-bg="1"
class="index"ng-init="visible = false">
07. říj 2016 21:48 #128685
Odpověď od Martens
Uživatel
No první, co tam je a co se mi nelíbí a příjde fakt divné , tak je konstrukce <body id="tmpl-9 id101"
Řetězit třídy jde, ale řetězit identifikátory id? To tady vidím poprvé .....
Pokud tam to id101 dáváš scriptem, tak to zkus dát ne do id, ale do class - tedy asi takto
Jde to? Pokud ano, tak pak by css bylo asi tak nějak :
a mělo by fungovat i toto
Řetězit třídy jde, ale řetězit identifikátory id? To tady vidím poprvé .....
Pokud tam to id101 dáváš scriptem, tak to zkus dát ne do id, ale do class - tedy asi takto
Code:
<body id="tmpl-9" data-tablet-width="940" data-mobile-width="580" data-bg="1" class="id101 index" ng-init="visible = false" style="position: static;" cz-shortcut-listen="true">
Jde to? Pokud ano, tak pak by css bylo asi tak nějak :
Code:
body#tmpl-9.id101.index .mojetrida
{
display: none;
}
a mělo by fungovat i toto
Code:
body#tmpl-9.id101 .mojetrida
{
display: none;
}
07. říj 2016 22:22 - 07. říj 2016 22:28 #128687
Odpověď od Ernst
Joomla Expert
ani jedno nefunguje, já už taky vyzkoušel nespočet variant.
vždyť si to zkus přímo na tom webu
třeba
já nevím, co tam to id101 dává. joomla si ne, tak možná nějaká komponenta - K2 nebo ARTIO JoomSEF a samozřejmě i šablona
vždyť si to zkus přímo na tom webu
třeba
Code:
body#tmpl-9.id101.index section#gkContent {
display: none !important;
}
já nevím, co tam to id101 dává. joomla si ne, tak možná nějaká komponenta - K2 nebo ARTIO JoomSEF a samozřejmě i šablona
07. říj 2016 22:34 - 07. říj 2016 22:36 #128688
Odpověď od Martens
Uživatel
Podle specifikace HTML5 by ID nemělo obsahovat mezeru a musí být unikátní v celém HTML kódu dané stránky.
Ale šlo by to oblbnout takto :
jsfiddle.net/mlasevic/0akx0ar5/
Místo toho prvního <div> si dej <body> pro větší názornost.
Je to sice funkční řešení, ale stále se nemůžu ubránit pocitu, že více jmen, oddělených mezerou v identifikátoru ID je proti pravidlům CSS a je to standardně použitelné jen v třídách.
Ale šlo by to oblbnout takto :
jsfiddle.net/mlasevic/0akx0ar5/
Místo toho prvního <div> si dej <body> pro větší názornost.
Je to sice funkční řešení, ale stále se nemůžu ubránit pocitu, že více jmen, oddělených mezerou v identifikátoru ID je proti pravidlům CSS a je to standardně použitelné jen v třídách.
07. říj 2016 22:41 #128689
Odpověď od Martens
Uživatel
Tak přesně tohle použij (vyzkoušeno přímo na Tvé stránce)::
body[id="tmpl-9 id101"] #gkContent {
display: none;
}
body[id="tmpl-9 id101"] #gkContent {
display: none;
}