Autor Zpráva
Jack Finger
Profil
Dobrý den,
chci se zeptat, jak byste vyřešili následující problém:
main.css:
td {
  border: 1px solid #F0F0F0;
}

page1.css:
#page1 td {
  border: 0;
}
#page1 td.test {
  border: 1px solid #stejna_barva_jako_v_main.css;
}

Neboli - v obecné definici pro všechny stránky mám nastavenou barvu u borderu. Na jedné konkrétní stránce, které má kromě hlavního, ještě svůj stylopis chci ale všechny td kromě jednoho mít bez borderu. Jak to vyřešit? CSS negaci mám pocit neumí (všemu kromě .test nastavit border:0), dědit barvu taky nejde a nastavovat class všem ostatní td kromě jednoho mi přijde neohrabaný..
Díky za reakce!
habendorf
Profil
td, #page1 td.test {
  border: 1px solid #F0F0F0;
}
#page1 td {
  border: none;
}
panther
Profil
Jack Finger:
moc teda nechápu, proč tvoříš více souborů, ale nevadí.

Jestli to dobře chápu, co třeba takhle:
td, #page1 td.test {border: 1px solid #F0F0F0;}


EDIT: tak dlouho jsem se snažil pochopit jádro pudla, až mě habendorf předběhl :-)
Jack Finger
Profil
Protože ne všechny styly potřebuju na všech stránkách - z toho plyne datový objem a pro mě i nepřehlednost v kódu. Právě z toho důvodu "nemůžu" (tedy nechci) definovat to z page1 už v main. Takže za příklady děkuji, ale bohužel mi nepomohou :( Anebo mi poraďte, jak byste řešili daný problém s přebytečnými styly vy, budu rád. Díky.
panther
Profil
Jack Finger:
Anebo mi poraďte, jak byste řešili daný problém s přebytečnými styly vy
já bych to řešil tak, jak jsem napsal.

Pro všechny stránky používám jeden stylopis. Když jich chceš více, tahle jedna deklarace navíc tě nezabije. Jinak to nelze. CSS nezná nic jako proměnné, tudíž něco jako „#stejna_barva_jako_v_main.css“ neexistuje.
tiso
Profil
Jack Finger:

/*main.css:*/
td {
  border: 1px solid #F0F0F0;
}

/*page1.css:*/
#page1 td {
  border-width: 0;
}
#page1 td.test {
  border-width: 1px;
}
Jack Finger
Profil
tiso
Ha, to je přesně ten efekt, který jsem z toho chtěl dostat. To mě nenapadlo. Díky moc!

habendorfovi a pantherovi taky děkuju :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0