Autor | Zpráva | ||
---|---|---|---|
ng9 Profil |
#1 · Zasláno: 3. 12. 2011, 20:25:41
Nechtěl jsem psát OT do diskuse, kde jsem nakousl hvězdičkový reset. Reaguji na Chamurappiho, který mne odkázal na tento článek, který dle mého již trochu zestárl. Mluvím z vlastní zkušenosti, takže žádná teorie a pro vás jsem to i odzkoušel...
použil jsem následující kod, pro demonstraci stačí: <!DOCTYPE HTML> <html> <body> <form method="post" action=""> <input type="text"> text<br> <input type="submit"> text<br> <input type="checkbox"> text<br> <input type="radio"> text<br> <select> <option>test</option> </select> test<br> </form> </body> </html> testováno pod windows 7 home 64bit: Opera 11.52: zdá se vše ok Chrome 15.0.874.121 m: u checkboxu a radio buttonu je to zřejmě o 1px posunuto níž FF8: to samé jako chrome IE9: to samé jako chrome a tedy i ff Dále s použitím hvězdičkového resetu: * { padding:0px; margin:0px; } Výsledky... Totožné jako bez resetu, krom samozřejmě odsazení a vnitřního paddingu. (řádky jsou rozhozeny tak jako tak). Takže tento reset nemá vliv na rozbíjení řádků. Samozřejmě jak bylo psáno v odkazovaném článku, border formulářové prvky resetuje, o něm se ovšem nebavím. A nepoužívat tento reset protože pak nejsou odsazené odrážky a jiné prvky je nelogické. Vždyť přeci proto píšeme css, abychom si tyto prvky nastylovali jak potřebujeme a ne aby si prohlížeče vykreslovaly prvky s nějakými rozestupy a pak hacky jednotlivé browsery ladili. Takže vždy vím, že všechny prvky mají nulové marginy a paddingy a hodnoty nastavím přesně těm prvkům u kterých to potřebuji. |
||
Str4wberry Profil |
#2 · Zasláno: 3. 12. 2011, 21:28:31
Ony se používají i starší Explorery než 9, víme?
|
||
ng9 Profil |
#3 · Zasláno: 3. 12. 2011, 21:59:33 · Upravil/a: ng9
Str4wberry:
To samozřejmě vím. Nevím přesně jestli stejně se to vykreslí v ie8 i v ie7, ale předpokládám, že ano (kdyžtak mne opravte). Pokud se bavíme pouze o ie6 tak ho dnes používá přibližně jen 1 % (podle vlastních statistik z google analytics). |
||
Plaváček Profil |
#4 · Zasláno: 4. 12. 2011, 09:01:30
ng9:
Objevuješ Ameriku, ale skončil jsi v Indii. Hvězdičkový reset je dávno překonaná záležitost a kromě toho za vykreslování formulářových prvků je často zodpovědný operační systém, nikoliv prohlížeč. Tento článek http://www.456bereastreet.com/archive/200701/styling_form_controls_with_css_revisited/ je sice staršího data, ale nic podstatného se od té doby nezměnilo. Prohlédni si dobře, jak konkrétní formulářové prvky vypadají napříč operačními systémy a prohlížeči. Jako dobrý CSS reset se mi osvědčil tento od Erica Meyera http://meyerweb.com/eric/tools/css/reset/ (ale existují i jiné). Nicméně - pořád zůstává otázka, zda má smysl CSS reset používat. Zejména poslední dobu získávám pocit, že se jedná o činnost dost kontraproduktivní. |
||
Petr ZZZ Profil |
#5 · Zasláno: 4. 12. 2011, 15:07:59
ng9:
„podle vlastních statistik...“ IE6 už asi opravdu moc lidí nemá, nicméně na vypuzovací chybu měření je dobré myslet – komu se tvoje stránky rozpadnou, ten už se pravděpodobně nevrátí. Tento mechanismus zkresluje každou statistiku zastoupení prohlížečů, která pracuje se stránkami, jež se v nějakých prohlížečích rozpadají. |
||
Chamurappi Profil |
#6 · Zasláno: 4. 12. 2011, 16:32:02
Reaguji na ng9:
„vždy vím, že všechny prvky mají nulové marginy a paddingy“ Pokud podle tvého povrchního testu nemá vynulování margin ů a padding ů na <input> y žádný vliv, proč je nuluješ i jim?
„vždy vím, že všechny prvky mají nulové marginy a paddingy a hodnoty nastavím přesně těm prvkům u kterých to potřebuji“ Zapamatovat si, které elementy mívají výchozí margin y a padding y, není zase tak těžké. Stejně už si musíš pamatovat ostatní výchozí CSS vlastnosti.
Vynulováním všeho téměř nikdy nedosáhneš optimálního vzhledu, blokovým elementům se margin y skoro vždy hodí a řádkové je ve výchozím stavu nemívají. Většinu toho, co vynuluješ, stejně pak musíš nastavit jinak — a to, co nastavit zapomeneš, se na výsledku podepíše negativně, protože výchozí rozestupy jsou lepší než žádné.
„Nevím přesně jestli stejně se to vykreslí v ie8 i v ie7“ Mně se nechce vyrábět pokusnou stránku. Předkládáš tvrzení — dodej živou ukázku, nechť se každý přesvědčí sám. Na systémové vykreslení formulářových prvků má mimochodem někdy vliv i jazyk operačního systému. |
||
ng9 Profil |
#7 · Zasláno: 4. 12. 2011, 17:36:39 · Upravil/a: ng9
Petr ZZZ:
díky za zdroj, zajímavý postřeh. Chamurappi: zřejmě prostě každý máme jen jiné návyky a každému přijde lepší něco jiného. Ale tvrdit, že hvězdičkový reset nepoužívat protože rozbíjí formuláře mi přijde zavádějící. Stále se učím a rád si poslechnu zkušenější názory. |
||
shaggy Profil |
#8 · Zasláno: 4. 12. 2011, 17:50:58
ng9:
Ja tiež zastávam názor, že je jednoduchšie vynulovať defaultný margin, padding atď., ako používať reset (to je niečo ako CSS grid systémy, slúži to menej zdatným koderom). Ak už nutne potrebuješ použiť CSS resete, existujú aj také, ktoré ti formulár nerozbijú. Nad tými si neuvažoval? |
||
Chamurappi Profil |
#9 · Zasláno: 4. 12. 2011, 18:42:36 · Upravil/a: Chamurappi
Reaguji na ng9:
„každý máme jen jiné návyky a každému přijde lepší něco jiného“ Návyky můžou být škodlivé a subjektivní pocity sem nepatří, bavíme se o selektoru, ne o uměleckém díle a cíle máme stejné. „tvrdit, že hvězdičkový reset nepoužívat protože rozbíjí formuláře mi přijde zavádějící“ Zavádějící? V jakém smyslu? Výhody hvězdičkového resetu (v porovnání s ostatními resety) snad výrazně převyšují nad touto nevýhodou? Nebo máme předstírat, že rozbití formulářů neexistuje? Jedinou jeho potenciální výhodou může být, že ho jde umístit ve stylopisu kamkoliv, nemusí být na začátku, protože všechny ostatní selektory jsou specifičtější, takže ho přebijí nezávisle na pořadí. Ale to si stejně skoro nikdo neuvědomuje. Ono je to asi i dobře, že ho lidi dávají na začátek. |
||
Časová prodleva: 12 let
|
0