Autor Zpráva
nethor
Profil
Neexistuje v CSS příkaz pro zdědění všech vlastnosí jiné třidy?

Jde mi o to, že mám třídu "ImgSubForm" s vnořenými elementy a potřebuji založit novou "FileSubForm", která se bude lišit jen v drobnostech.
Logicky by se měla jmenovat "FileSubForm", protože již nejde o foto, ale připadá mi zbytečné ji kopírovat a přepisovat nebo psát dědění pro každou vlastnost zvlášť.

.ImgSubForm input.Alt {
    width: 330px;
    margin: 0 10px 0 0 ; 
}

.ImgSubForm .select {
    margin: 0 15px 0 0 ; 
}

/*FileSubForm */
.FileSubForm input.Alt {
    width: inherit;
    margin: inherit ; 
}

.FileSubForm .select {
    margin: inherit ; 
}
joe
Profil
Přímo dědění v samotném CSS není, můžeš ale napsat řádky
.ImgSubForm input.Alt, .FileSubForm input.Alt {

Pak se ale kód stává nepřehledným. Vhodné by bylo použít jeden z preprocesorů - Sass, Stylus a nebo Less, které dědičnost umí.
DJ Miky
Profil
Přehlednější by bylo vyčlenit společné vlastnosti do zvláštní třídy (jakoby nadtřídy), např. SubForm, a třídy ImgSubForm a FileSubForm použít jen pro specifické/odlišné vlastnosti. Pak by se v HTML použilo class="SubForm ImgSubForm", případně class="SubForm FileSubForm".
nethor
Profil
DJ Miky:

Jo jasně, to je správná cesta.

Díky všem.

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