Portál AbcLinuxu, 1. května 2025 09:26
v některých ohledech (centrování) mi implementace v IE7 přišla logičtějšíTak bacha, IE 8 se zase o něco více blíží specifikaci (a ostatním prohlížečům, jako je Firefox a Opera).
Díky za tento zápisek. Já už měl delší dobu pocit, že jsem široko daleko jedinej, kdo nepochopil přínos CSS.
An idiodic "improvement" (now with 500% more code!):Tohle svědčí o naprostém nepochopení toho, k čemu CSS slouží. Idea je taková, pomocí HTML definovat právě a jen logickou strukturu dokumentu (sémantiku), kdežto vzhled realizovat pomocí CSS. Čili když je pak potřeba vzhled změnit, změní se jen CSS (nebo se jeden CSS nahradí jiným - viz třeba vzhled abíčka), do HTML není potřeba sahat. Protože čuňačiny typu:
<div class="center">skutečně nic nevylepší. Kdežto když je tam něco jako:
<div class="exclamation">tak lze snadno změnit, jak to "exclamation" bude vypadat - například takhle:
div.exclamation { text-align: center; font-weight: bold; }Když se pak někomu obsah této třídy bude zdát málo výrazný, dá se drobnou změnou CSS (na jediném místě) změnit vzhled této třídy na celém webu.
display: inline-block
(navenek blokový element, uvnitř řádkový) a text-align: center
. No jo, to by ale někdo ten inline-block musel podporovat podle http://www.quirksmode.org/css/display.html to s podporou inline-block není tak hrozné. Až na starší IE.
text-align: center
bylo pro obalující blok a display: inline-block
pro vnitřní, centrovaný.
csszengarden bylo to prvni co me napadlo - to je totiz jako ukazka vyuziti kaskadovych stylu uzasne
posledních pár týdnů pracuji čistě ze zájmu na webu kam si lidé mohou nahrát své fotky, a rád bych lidem dal možnost si web kompletně nastylovat. Už dělší dobu ladím "html" aby pomocí css šlo kvalitně měnit vzhled. Na csszengarden.com je html které si už dělší dobu "přeji" mít... :) nevíte jak to je s licencí? Je zde problém "doslova" obšlehnout kostru jeho dokumentu a použít to pro vlastní hračky? Nemohu se tam nikde dočíst jak si htmnl licencuje :D prosím help me, kdo víte víc...
Ano, obšlehnout těch pár divů.. to je přesně to co chci :D
Než začnete plácat takového a jim podobné nesmysly o CSS, raději Vám doporučím následující knihu: CSS Kaskádové styly pro webdesignéry - Autor: Marek Prokop. Až si ji přečtete, tak můžete znovu napsat do blogu článek o CSS - podložený fakty. Ono totiž CSS není špatné, jenom vy o něm nic nevíte natož abyste pochopil jeho smysl.
Nejsem web designer a moje HTML tvorba se taky obvykle bez CSS obejde, ale pritomnost CSS chapu.
Pokud generujes v Perlu (nebo i treba PHP) 1000 radku v tabulce, teda neco jako <tr><td>bleble</td></tr>
, tak samozreme do TD muzes nacpat i vlastnosti a ty pak jednoduse menit.
Pokud bys tech radku ale mel v HTML dokumentu staticky a potreboval bys u vsech policek nastavit jinou barvu pozadi, tak budes muset bud "carovat" napr. s vimem a udelat si makro nebo regexp, nebo (lepe) pouzit styl a nadefinovat barvu pro TD. Pak se ti hned nastavit u vsech policek.
A pokud budes dobre planoval, tak muzes udelat velkej HTML dokument s pouzitim class a vlastnosti (barvy, velikosti, zarovnani atd) budes menit jenom na jednom miste v CSS. Dalsi vyhoda je, ze muzes stranky generovat v Perlu/PHP a budes chtit mit pro ruzne struktury vzdy stejne vlastnosti, ale s moznosti jednoduse je menit. Tak budes generovat stranky se stylama a podle predvolby muzes nahravat ruzny CSS soubory, ktery budou definovat vzhled.
Takze CSS chapu, pouzivam, jen kdyz je to nutne, ale taky me toci, ze browsery to bud spatne nebo uplne jinak implementujou. Chovat se SMTP servery jako se chovaji Webbrowsery, tak nam posta nedojde, nebo dojde uplne rozjebana (oni SMTP servery taky nejsou 100% kompatibilni, ze ano pani z M$, ale vestina nastesti je).
style="border- .... font ... text ... color ... margin ... padding ...
, tak se to posčítá.
U t-mobile mám 50 MiB FUP za měsíc a běžným prohlédnutím několika stránek během jízdy MHD po městě stáhnete hned několik MiB. Na celý měsíc to ani náhodou nevystačí a pokud je u každého druhého elementu uvedeno style="border- .... font ... text ... color ... margin ... padding ... , tak se to posčítá.Opera Mini? Já vím, jde to přes proxy (se vším, co k tomu patří), ale na občasné kouknutí se někam...
Dík za hodnotný příspěvek. Hlavně že jsme se dozvěděli kterou stránku se ti nepodařilo do CSS převést, případně jak se ty tvoje pokusy o CSS chovaly v různých prohlížečích, že? :-(
Mimochodem, dřív stačilo napsat <blink>aaa</blink> nebo <marquee>yyy</marquee>. Teď abych takové věci dělal animovanými GIFy (500 % nárůst!) nebo ve Flashi (1350 % nárůst velikosti, 26735 % nárůst spotřeby paměti!).
This is progress?!?!?!?????
Dík za hodnotný příspěvek. Hlavně že jsme se dozvěděli kterou stránku se ti nepodařilo do CSS převést, případně jak se ty tvoje pokusy o CSS chovaly v různých prohlížečích, že? :-(
Mimochodem, dřív stačilo napsat <blink>aaa</blink> nebo <marquee>yyy</marquee>. Teď abych takové věci dělal animovanými GIFy (500 % nárůst!) nebo ve Flashi (1350 % nárůst velikosti, 26735 % nárůst spotřeby paměti!).
This is progress?!?!?!?????
Erm... že bys to fakt neuměl líp? :). Btw... žádný progress to není, jen vyčištění HTML od věcí, který tam nikdy neměly být a vlastně ani nebyly :).
S takovýmhle přístupem se o to radši ani nepokoušejte a nechte to mladším :D
Apropos i v PHP (verze 5.2) lze programovat čistě a objektově, používat vlastní ORM a generovat pomocí XSLT výstupní XHTML ostylované CSS. Skutečnost, že to neumíte, není přeci důvodem, proč šmahem výše zmíněné zavrhovat.Ne, ze bych mel neco proti ORM ci XSLT, ale ukladat data relacne, pak je mapovat na objekty a kvuli view je serializovat do XML a transformovat...?
BTW Pokud chcete na serveru používat formuláře ve stylu XForms, tak se stejně XSLT do (X)HTML formulářů nevyhnete.Pokud budu chtit pouzit XForms, tak pouziju Chibu nebo nejaky jiny server side XForms engine a jestli ten bude pouzivat XSLT nebo ne, to je mi celkem fuk. A nebo pouziju JS client side XForms engine.
<style> center{margin-right:auto;margin-left:auto;width:740px;} </style> <div class="center"> ... ... </div>By ti stejně v Internet Exploreru nejelo
div
em), který má text-aling: center
. Sice by podle specifikace blokové objekty neměli na text-align
reagovat, ale svým způsobem je štěstí, že funguje alespoň tohle ...
By ti stejně v Internet Exploreru nejeloAle jelo. V osmičce stoprocentně (ovšem podle toho, jaký doctype by se použil), v sedmičce možná také (teď si nejsem jistý). V šestce tedy samozřejmě ne
<div style="display: table
a <table
?
<!--[if IE]> <![endif]--> <!--[if !IE]> --> <!-- <![endif]-->
CSS není dobře udělaný standard.
Ale ono je to také tím, že CSS poprvé imlementoval Microsoft (dříve, než vůbec W3C tušila, že CSS existuje, a že se jím bude zabývat). Když pak W3C převzala CSS za své a začala ho brát jako svůj standard, velmi mnoho věcí ve W3C bylo vedeno nikoli snahou o dobrý standard, ale: „hlavně, aby to bylo jinak, než to implementoval MS, ať má MS problém“. To byla často větší priorita, než funkčnost, a tak schválně W3C změnila řadu věcí, mimo jiné i box model proti tomu, co existovalo před tím, než W3C dostala CSS do ruky. A na „promyšlenosti“ CSS je to znát.
Já s tím také často zápasím, a poté co jsem do hloubky pronikl do CSS nějak už v realitě nemám tendenci být fanatikem do CSS jako jsem býval. Přestal jsem být fanatikem a bijcem proti tabulkovému layoutu, ač ho nepoužívám. V realitě totiž je CSS zprasené, a tudíž reálně je nutné prasit. A web založený na CSS je opravdu poněkud, no prostě webdesigneři se naučili řadu prasečin, nazývají to „hacky“, aby nemuseli o sobě tvrdit, že prasí – ono by to dost nehezky znělo v kontextu s různými jejich prohlášeními o “čistotě kódu“ a „validním kódu“.
To je hodne hustej zapisek!
Faktem je, ze rozkrikujes jen svoji nevedomost.
Me se napr. docela dost libi, kdyz naisu aplikaci a vubec me nezajima jak bude vypadat. Nebo kdyz napisu aplikaci ci web a budu chtit jednoho dne zmenit cely layout i vzhled. Pokud bych psal webovy vystup bez stylu, musel bych natvrdo zasit vzhled do kodu a to je u me kontraproduktivni. Nejsem totiz grafik a nemam esteticke citeni abych ja osobne presne trefil finalni design uz na pocatku, kdy teprve mydlim kod. Stejne tak nechci cekat na grafika nez vyplodi neco, co jeste ani nemohl videt v provozu atd...
Libi se mi, kdyz odevzdam web, a pak nekdo udela grafiku, nebo kdyz napisu modul a bez uprav ho muzu pouzivat na ruznych webech s ruznou grafikou.
A ze css nefunguje..? no... ani to neni slozite. Jsou overene techniky a ty funguji vsude a jsou i nektere specificke techniky, ktere se nepouzivaji protoze jsou zavisle na ruznych implementacich. Pokud clovek trochu css umi, tak se takovym konstrukcim vyhne a vse dela na prvni zapojeni.
Aby to bylo co nejsnazsi, tak je dobre vyvarovat se chyb, tedy:
- dodrzovat normu (coz je zaklad pro minimalizaci prekvapeni v ruznych browserech) a pouzivat co nejvyssi normu - nejlepe striktni xhtml
- kontrolovat validitu kodu (zacatecnici musi, pokrocilejsi pisi validne na prvni stouch)
- pouzivat vhodne nastroje - predevsim chrobaka a taky se hodi webdeveloper
- v krajnim pripade pouzivat specialni css file jen pro ie6 - tam to nekdy zakulha, ale ostatni se da udrzet v pohode (tedy ie7,ie8,ff,opera,safari) u celeho weu s tisiciradkovym css byva pro ie6 jen 2 az 3 styly (nejakych kratouckych radku)
- kdyz uz jsi tak nestastny z toho css a nevis poradne k cemu slouzi (viz style=""), tak zkus omrknout a osahat kaskady a uvidis jaky netuseny obzor se ti otevre (jednak to souvisi s tim mym troufalym, ale pravdivym zacatkem a druhak je celkem zajimave, ze ony ty styly jsou predevsim kaskadove a ze to tak nejak neco lehce naznacuje ;) )
Ackoliv tedy nejsem grafik, tak css je z meho pohledu naprosto nepostradatelne a plne funkcni reseni, na kterem nastesti uz leta muze web stat. Mozna ze ty benefiy jsou takove prave pro negrafiky. Grafik naopak (si tak nejak predstavuju jeho praci) muze mit tendenci vse mydlit do kodu - aspon bych to povazoval za omluvitelne, protoze prave on a nikoli programator se zajima jen o vysledny vzhled. Takze prave jemu to css nemusi byt uziecne v pocatku jeho prace, ale hned pri prvnich upravach a zmenach oceni, ze nemusi kontaktovat vyvojare, pokud ten mu pripravil aplikaci poctive a spravne.
Stejne tak je mozne mit jeden system a ten muze mit tisice vzhledu a tisice modulu a tisice programatoru techto modulu nemusi vubec uvazovat o moznych tisicich vzhledu ve kterych jejich moduly mohou beze zmeny behat. To uz je celkem slusny duvod proc na to ten web stavet, ne? Ovsem chce to obcas kouknout se na to i ze sirsi perspektivy a ne jen z uzkeho vyhledu vlastnich "veleuzasnych kopirovatek VELKYCH souboru"
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.