Aki már egyszer belefutott a cikkben is említett ügyfél kérésre jobb oldalra úsztatott left-content konténer esetébe, az elég hamar rájön, hogy nem ez a helyes út az osztályok elnevezésére.
Én egy ideje bevált gyakorlatként jellemzően – ha van rá mód – olyan osztályokat használok, amelyekre a HTML5 kínál megfelelő nevű konténer elemet (pl. header, nav, article, footer).
Némiképp keserűen gondolok erre a cikkre, ugyanis - jóllehet én is azt szeretném, hogy a header az legyen header stb. - mindez standalone weboldalaknál működik jól (már ha működik, és az IE nem szúr ki veled azzal, hogy ha van pl egy header globális változód és ugyanezzel a névvel divként szerepel a dom fában, akkor elfelejtheted a változó értékének módosítását dom betöltődés után).
Abban a pillanatban, hogy az oldalad valamelyik részét egy másik, mondjuk partneroldalba kell ágyazni, főhet a fejed a szemantikus class és id nevek miatt! Erre ugyan megoldást jelenthet időlegesen az, hogy a html és css is template-ezhető és valamilyen konfig fájl alapján kvázi automatikusan prefixelhetőek ezek a nevek. A js azonban még mindig hátra van...
Szóval nem azt mondom, hogy ne használjunk szemantikus (vagy pre-html5) neveket, csak hogy előfordulhat, hogy éppen ez üt vissza.
Aki már egyszer belefutott a cikkben is említett ügyfél kérésre jobb oldalra úsztatott left-content konténer esetébe,
Miért kell a left-content konténert úsztatni? Annak van egy helye (bal oldalon), ennek megfelelően van beállítva rá a float, padding, esetleg a background, stb. Ha át kell rendezni az oldalt, akkor a left-content konténerből áttesszük a right-content konténerbe a tartalmakat és kész. Egy jól megcsinált, rugalmas HTML sablon nagyszámú konténerrel rendelkezik, és nem a konténereket mozgatjuk, hanem a tartalmi blokkokat tesszük egyik vagy másik konténerbe. (Az üres konténereket pedig nem küldjük ki a böngészőnek, ehhez persze kell szerver oldali program.)
A dolog lényege az lenne, hogy kigyomláljuk a template-ből a vizuális utalásokat, így pl. az elem pozícióját (left-sidebar, right-sidebar), színét (my-red-paragraph) stb. és ettől lenne a dokumentum szemantikus.
Az egy másik kérdés szerintem, hogy milyen a jól (rugalamsan stb.) felépített dokumentum.
„Miért kell a left-content konténert úsztatni? Annak van egy helye (bal oldalon), ennek megfelelően van beállítva rá a float”
Úgy tűnik, hogy a kérdést magadnak tetted fel.
„Ha át kell rendezni az oldalt, akkor a left-content konténerből áttesszük a right-content konténerbe a tartalmakat és kész. Egy jól megcsinált, rugalmas HTML sablon nagyszámú konténerrel rendelkezik, és nem a konténereket mozgatjuk, hanem a tartalmi blokkokat tesszük egyik vagy másik konténerbe.”
Ha egy elem generic language/style container, akkor számomra az a szemantikus, ha az osztálynév/ID megadja azt a nyelv/stílus szempontot, ami alapján a konténerbe kerülnek az összetartozó dolgok. Egyébként elég zavaros a cikk (mióta strukturális a "red-text", "small-title"?), és nekem az sem világos, hogy minek kellene nevezni a 4-es elemet, ha nem csak a menü van benne, hanem még 5 különféle blokk ("sidebar" ugye nem lehet, mert az már a jobb oldalon foglalt).
Mint általános elv, oké, de ez sem szentírás, és nem is mindig keresztülvihető (tehát mondjuk a "gyomlálás" kifejezéssel nem értek egyet). Részletes, cizellált dizájnokon, amelyeken kizárt, hogy egy konténer csak úgy átmenjen a másik oldalra, a legapróbb kis nyilacskákig elég fárasztó munka szemantikát gyártani neki. Egyszerűen mert a dizájn maga a szemantika.
Kicsit olyan, hogy az első kocsinkat (annó) még Dezsőnek hívtuk, a mostani már csak a "zöld autó" (meg van még a megán).
Kicsit tágabb kontextusba is vihető a kérdés. A névadásnak mint olyannak nem mindig van ilyen értelemben "szemantikája". Illetve a név maga lesz a szemantika. Illetve a "szemantikában" releváns részt kaphat a vizuális asszociáció. (Szerk. Teszem azt, "Margó" nevet adnak mondjuk egy publicisztikai rovatnak.) A CSS-nevekben is egy ponton túl már a szimbólum-funkció dominálhat, semmint valamiféle mögöttes leírás. Ilyen szempontból az sem feltétlenül tragédia, ha egy left-column átmegy jobb oldalra. Akkor az ott egy jobbra áttolt left-column.
De mondom, persze, legyen a header header, csak ez a dolog sem gránitsziklába vésett törvény.
Az alapvető hiba a CSS korlátozott lehetőségeiben rejlik. A legtöbb feladatra elég hatékony a CSS kiválasztó rendszere, azonban az ember gyakran szembesül egy teljesértékű programozási nyelvet megkívánó feladattal, pl. aprólékos látvány esetén, ellenkező esetben nem ússza meg szemantikus, vagy legalábbis értelmesen szemantikus HTML-lel. Ezért sem értem, hogy miért tiltakoznak sokan oly hevesen a CSS ilyen irányú bővítésétől.
Azért mert az imperatív irányba vinné el a CSS-t ami a dolog lényegét ölné meg. Inkább át kellene gondolni hogy mivel lenne érdemes bővíteni a CSS deklaratív eszközkészletét.
Szerk.: Csak kíváncsiságképpen kérdezném hogy mitől teljes értékű egy programnyelv neked?
Gyakran érzem úgy, hogy szívesebben állítanám a tulajdonságokat JavaScriptből, épp azért, mert CSS-sel nem tudom indokolható szemantikára támaszkodva kialakítani a látványt. Igen, valóban a kiválasztórendszert kellene bővíteni, de jelentékenyen.
Ki nem így?
left-content
konténer esetébe, az elég hamar rájön, hogy nem ez a helyes út az osztályok elnevezésére.Én egy ideje bevált gyakorlatként jellemzően – ha van rá mód – olyan osztályokat használok, amelyekre a HTML5 kínál megfelelő nevű konténer elemet (pl. header, nav, article, footer).
(A posztot yaanno megosztott tartalmai között találtam.)
Némiképp keserűen gondolok
Abban a pillanatban, hogy az oldalad valamelyik részét egy másik, mondjuk partneroldalba kell ágyazni, főhet a fejed a szemantikus class és id nevek miatt! Erre ugyan megoldást jelenthet időlegesen az, hogy a html és css is template-ezhető és valamilyen konfig fájl alapján kvázi automatikusan prefixelhetőek ezek a nevek. A js azonban még mindig hátra van...
Szóval nem azt mondom, hogy ne használjunk szemantikus (vagy pre-html5) neveket, csak hogy előfordulhat, hogy éppen ez üt vissza.
én nem
Miért kell a left-content konténert úsztatni? Annak van egy helye (bal oldalon), ennek megfelelően van beállítva rá a float, padding, esetleg a background, stb. Ha át kell rendezni az oldalt, akkor a left-content konténerből áttesszük a right-content konténerbe a tartalmakat és kész. Egy jól megcsinált, rugalmas HTML sablon nagyszámú konténerrel rendelkezik, és nem a konténereket mozgatjuk, hanem a tartalmi blokkokat tesszük egyik vagy másik konténerbe. (Az üres konténereket pedig nem küldjük ki a böngészőnek, ehhez persze kell szerver oldali program.)
A dolog lényege az lenne,
Az egy másik kérdés szerintem, hogy milyen a jól (rugalamsan stb.) felépített dokumentum.
„Miért kell a left-content
Úgy tűnik, hogy a kérdést magadnak tetted fel.
„Ha át kell rendezni az oldalt, akkor a left-content konténerből áttesszük a right-content konténerbe a tartalmakat és kész. Egy jól megcsinált, rugalmas HTML sablon nagyszámú konténerrel rendelkezik, és nem a konténereket mozgatjuk, hanem a tartalmi blokkokat tesszük egyik vagy másik konténerbe.”
Hát ennél logikusabb a konténert mozgatni.
hátö
konténer
Mint általános elv, oké, de
Kicsit olyan, hogy az első kocsinkat (annó) még Dezsőnek hívtuk, a mostani már csak a "zöld autó" (meg van még a megán).
Kicsit tágabb kontextusba is vihető a kérdés. A névadásnak mint olyannak nem mindig van ilyen értelemben "szemantikája". Illetve a név maga lesz a szemantika. Illetve a "szemantikában" releváns részt kaphat a vizuális asszociáció. (Szerk. Teszem azt, "Margó" nevet adnak mondjuk egy publicisztikai rovatnak.) A CSS-nevekben is egy ponton túl már a szimbólum-funkció dominálhat, semmint valamiféle mögöttes leírás. Ilyen szempontból az sem feltétlenül tragédia, ha egy left-column átmegy jobb oldalra. Akkor az ott egy jobbra áttolt left-column.
De mondom, persze, legyen a header header, csak ez a dolog sem gránitsziklába vésett törvény.
A CSS korlátozott lehetőségei
Azért mert az imperatív
Szerk.: Csak kíváncsiságképpen kérdezném hogy mitől teljes értékű egy programnyelv neked?
Mindegy