Hledáte řešení pro Váš e-shop? Shopio je moderní internetový obchod (e-shop) vytvořený s ohledem na snadné používání.

Box-sizing: podpora v prohlížečích (aktualizováno)

V poslední době jsem se rozhodl spasit svůj kód přepínáním prohlížečů do nestandardního box modelu. Stále jsem se ale nezbavil podezření, že některé prohlížeče box-sizing neznají. Vyvedete mě z omylu?

IE jsem do quirku shazoval už dříve, ale moderním prohlížečům jsem diktoval rozměry podle standardního box-modelu, jak nepraktické.

Internet Explorer

Weby optimalizuji pro IE 5.5 až 7. Internet Explorer shazuji do quirku a nařizuji mu tak, že má používat nestandardní box model. Paráda.

Mozillácké prohlížeče

Zde je záhodno nařídit prohlížeči pomocí proprietární vlastnosti -moz-box-sizing, ať počítá rozměry nestandardně. Firefox, Mozillu, Netscape, Seamonkey, Camino a další odnože Mozilly máme z krku. Paráda.

Presto, CSS 3!

Opeře (údajně od verze 7.2, což bohatě stačí) můžeme nařídit nestandardní box model pomocí CSS 3 vlastnosti box-sizing. IE5/Mac na box-sizing slyší také. Paráda.

KHTML?

A jak jsou na tom Safari a Konqueror? To by mě opravdu zajímalo, protože jsem nenašel žádné uspokojivé vysvětlení. Někde jsem četl o -khtml-box-sizing, ale to se mi zdá dost nevěrohodné. Safari prý dokonce odmítá spolupracovat se stylopisem, ve kterém začíná některá vlastnost pomlčkou (např. -moz-box-sizing), ale jen do té doby, než narazí na středník, zaplať pánbůh.

Vyjadřete se prosím v komentářích, budu vám neskonale vděčný.

Aktualizováno: Dero to rozsekl. Safari box-sizing (s)prostě neumí a -khtml- nepřivedl na svět Lukáš Havrlant. Bohužel, Lukáši, zase si budeš muset na tu Nobelovku o rok déle počkat. :-D Takže suma sumárum, IE přepínat do quirku a moderní prohlížeče stále nechávat ve standardu. Sázka na jistotu.

Věčné téma: tučňáci

tučňáček

Ano, i já se pokoušel přejít na linux. Několikrát.

Trocha historie

Začalo to někdy před maturitou. (Léta páně 2006, pokud tedy nepočítám několikeré vyzkoušení Ubuntu o rok dříve.) Tehdy jsem toužil po open source, po naprosté volnosti.

Vyzkoušel jsem Ubuntu, Kubuntu, Mandrivu, Fedoru a OpenSuSE; distribuce proklamované jako vhodná alternativa k Windows. Moje znalosti unixové konzole jsou vcelku obstojné, nebylo tedy co řešit.

Asi jsem nebyl dost vytrvalý, ale i tak jsem minimálně pět dní s každou distribucí vydržel. S některou i dvakrát tolik, kupodivu. Dost problémů jsem vyřešil (ať už svépomocí nebo díky dobrým radám na fórech nebo od známých). Tu nešel Firefox, tady zase zvuk, někde nešel připojit flash disk nebo distribuce v základu nepodporovala MP3. Zásadní problém nastal, když jsem chtěl začít používat jiný software než ten, který byl přiložený k distribuci. Paradoxně často nešel ani nativní software.

Postahoval jsem si balíčky s oblíbenými programy a dal se do „instalace“. Programy byly většinou vázány na některé knihovny, které zase znemožňovaly práci jiným programům. Nekonečný cyklus. Pro mě neřešitelný problém. Tím jsem zavrhl balíčky a zvolil kompilaci. Po zjištění, že nemám knihovny, nutné pro kompilaci jsem byl už značně vytočen, ale ne natolik, abych si knihovny nestáhl. A co se nestalo? Dost knihoven spolu nekomunikovalo a ve výsledku jsem nezkompiloval nic. Nezlobte se na mě, ale takhle ne. Je mi jasné, že nemám dost zkušeností a znalostí, ale kde jsou ti, kteří říkali, že Linux na desktopu dnes není žádný problém?

Rád bych krátce shrnul mé dojmy z jednotlivých distribucí.

Ubuntu a Kubuntu

Velice příjemné distribuce, kdyby nebyly problémy s balíčky a kompilací (ty byly ve všech distribucích), beru. Na Gnome se mi líbila jednoduchost, ale jeho rozhraní mi příliš nevyhovovalo. KDE bylo sice moc pěkně nablýskané, ale příliš náročné.

Mandriva

Tahle distribuce si mě nezískala vůbec. Naprosto mi nevyhovovala její celková kompozice.

Fedora

Fedora se mi moc líbila, krom některých maličkostí a problémů s balíčky a kompilací jsem neměl výhrady.

OpenSuSE

OpenSuSE byla uživatelsky nejpřívětivější. Prakticky vše běželo již po instalaci. Problémy s balíčky a kompilací však přetrvávaly.

Jak vidíte, vystřídal jsem pět distribucí a ani jedna mě neuspokojila. Problémy s balíčky celkem chápu, přece jenom, programy a knihovny tvoří tisíce lidí po celém světě a není jednoduché je všechny překecat, aby spolu bez problémů komunikovaly. Ale mě jako uživatele to opravdu nezajímalo, chtěl jsem Linux používat, ne ho celé dny skládat.

Asi řeknete, že je problém na mé straně. Jsem ochoten to přiznat, ale jen do určité míry. Zmíněné neduhy totiž podle mě brání masivnějšímu rozšíření linuxu.

CSS a kaskáda

Nezkušení kodéři by si měli dát pozor na pravidla kaskády, protože v ní číhá mnoho nástrah a mohou si tím natropit dost potíží, o kterých ani nemusí vědět.

Nechci tu rozebírat problematiku kaskády výrazně do hloubky, jen upozorním na jeden faktor při psaní stylů. Pusťme se do toho.

Při úpravách stylů, které psal někdo přede mnou často narážím na nejednotnost stylopisu. Podívejte se na příklad: špatná kaskáda.

Na tomto jednoduchém příkladu jistě vidíte, kde je chyba. První definice určuje vlastnosti obecně pro každý odstavec v elementu .post a druhá definice má určovat vlastnosti pro odstavec s datem a rubrikou. První definice má však vyšší váhu, takže je upřednostněna před druhou a na odstavec s datem a kategorií nebudou vztaženy vlastnosti v druhé definici.

Podívejte se, jak to má správně vypadat: správná kaskáda.

Zde jsou už v druhé definici uvedeny rodičovské selektory a definice tak získává vyšší váhu než definice pro obecný odstavec.

Z toho vyplývá, že se vyplatí předcházet těmto problémům a v definicích uvádět všechny rodičovské selektory. Také je dobré si rozmyslet, zda budete u selektoru třídy a identifikátoru uvádět značku elementu, protože svůj vliv na určení váhy definice to taky má. Tzn. jestli takhle: .postmeta nebo takhle: p.postmeta. Lepší je tyto dva způsoby v jednom stylopisu nemíchat.

Tyto rady samozřejmě neplatí ve 100 % případů, naopak. Obecné definice pro odkazy, vodorovné čáry, akronymy, odstavce apod. je dobré uvádět jen značkou prvku, bez rodičovských selektorů (tzn. a{ … } hr{ … } acronym{ … } p{ … }). Já osobně jsem zvyklý psát obecné definice na začátek stylopisu a v další části, kde už definuji vlastnosti podle umístění prvků (např. #content h2{ … }) doplňuji obecné definice ze začátku stylopisu o specifické vlastnosti dle umístění prvku. Naopak na konec stylopisu umisťuji obecné třídy, které aplikuji na všechny možné elementy v dokumentu (např. .clear{ … } .hidden{ … }).

Závěr

Příklad, který jsem uvedl je dost primitivní, ale věřte, že při psaní složitějších stylopisů můžete na zmíněný problém snadno narazit. Pokud píšete opravdu rozsáhlý stylopis, je to podle mého názoru nejsložitější problém na odhalení. Proto se vyplatí držet se určitých pravidel, poctivě přepisovat rodičovské selektory a stanovit si vlastní pravidla pro psaní, která vám jej ulehčí.

Pokud se rozhodnete porušit některé z těchto pravidel (např. některému specifickému prvku, umístěnému hluboko ve struktuře dokumentu nepředepíšete rodičovské selektory), měli byste bezpečně vědět, co děláte, jinak si velmi pravděpodobně zaděláte na budoucí problémy.

Firefox: užitečná rozšíření

Dnes vám představím pár užitečných rozšíření pro Firefox, která používám. Některá jsou profláklá, některá méně. To ale nic nemění na tom, že všechna stojí za zmínku.

Resizeable Textarea

Umožní vám měnit si podle libosti velikost textových polí. Narozdíl od Resizeable Form Fields funguje spolehlivě (Zatím se mi povedlo změnit velikost u každé textarey, a že jich bylo.), ale neumí manipulovat s ostatními formulářovými prvky.

Pearl Crescent Page Saver

Utilitka pro focení celých webových stránek nebo jen jejich výřezů. Existuje ve dvou verzích – Basic a Pro (verze Pro vás vyjde na $15). Verze Pro umí navíc focení výřezů, které si označíte myší; nahrávání na FTP a uložení kopie fotky do schránky. Bez toho se dá v pohodě obejít.

Gmail Notifier

Máte-li Gmail účet, zbystřete. Po nainstalování Gmail Notifieru se vám ve stavovém řádku bude zobrazovat ikonka Gmailu s počtem nových zpráv. Pokud vám dorazí nový mail, budete ihned upozorněni např. zvukem nebo „vyjížděcím okénkem“. Po najetí na ikonku dostanete informaci o nepřečtených mailech a obsazeném prostoru.

EditCSS

Klasika mezi rozšířeními pro webdesignery. Umožňuje upravovat CSS soubory v reálném čase u kteréholi webu si umanete. Jeho použitelnost ale sráží absence vyhledávání ve stylech.

Web Developer

Pokud jsem o EditCSS prohlásil, že je klasikou pro webdesignery, nevím, jak bych označil Web Developer toolbar.

Disponuje všemi možnými nástroji pro testování webových stránek od zakázání obrázků přes změnu velikosti okna na zadanou velikost po zobrazení atributů alt u obrázků.

IE Tab

Další „profláklé“ rozšíření. Pomocí něj si můžete stránku ve Firefoxu zobrazit jádrem Internet Exploreru. Dokonce můžete IE Tabu říct, které weby má implicitně otevírat. Já ho používám třeba pro otevírání našeho školního mailu, který jede na Microsoft Outlook Web Access.

FireBug

FireBug sjednocuje Javascriptovou konzoli, DOM inspektora a přidává ještě mnohem víc. Např. inspektora CSS, kódu a layoutu a Javascriptový debugger. Určitě stojí za vyzkoušení.

Znáte další skvělá rozšíření?

Tak neváhejte a doporučte je v komentářích nebo mě kontaktujte a já je do článku přidám.

Pravda o plagiátorství

Aktualizováno: celý článek je fikce

Dneska jsem si u Filosofa přečetl jeho nový článek, který nám dává naději, že se konečně dočkáme stejných vychytávek jako Macosáci. :-)

Chtěl bych Microsoftímu marketingu složit poklonu. Není to nic nového, ale přesto, kdyby se našel někdo nezasvěcený…

Píše se rok 1992. Microsoft vydává Windows 3.1, očividný plagiát operačního systému z dílen Apple, který samotnému Applu pořádně zavařil a otevřel dějiny novodobých operačních systémů. Windows 3.1 byl první a poslední plagiát, který Microsoft vydal. (Pokud přivřeme oči nad MS-DOSem.)

Lidé z Applu tomu nemohli uvěřit. Plagiát jejich vlastního systému jim beztrestně přetahuje uživatele a okrádá je o peníze. Apple se nadechl k protiútoku. Jack James Ravenshire, talentovaný programátor, stojící za původním Mac OS přechází do dílen Microsoftu a po celé roky podává Applu informace o Microsoftím vývoji. Apple tak udělal nevědomky osudnou chybu.

Apple přebíral Microsoftí ideje a s několikaročním předstihem vydával operační systémy, které vycházely z Microsoftích uživatelských testování a poznatků o uživatelských rozhraních. Plagiáty samozřejmě obaloval do vlastního kabátku.

A právě v tom je zřejmá chyba Applu. Snaží se jít vstříc uživatelům narozdíl od Microsoftu, který se drží svého prospěchářského marketingu.

Microsoft vytváří operační systémy tak, aby v dané době uživatelům plně dostačoval, ale nenabízel jim nic navíc. Nové poznatky si drží ve svých dílnách a pomalu je převádí do zdrojového kódu, aby je s pompou vypustil o několik let později, kdy už mu stávající produkty tolik nesypou. Proč by taky vypouštěl Vistu v roce 2003, když mu Windows XP sypou dodnes? Nebo takový Internet Explorer 6. Slouží lidem dodnes. Až když se Firefox začal přibližovat k dvacetiprocentní hranici, vypustil Microsoft nový Explorer. A všimněte si, že opět nenabízí nic navíc. Jen to, co je dnes nutné. RSS, taby, lupa, trochu lepší jádro a vyhledávání ve vyhledávačích přímo z prohlížeče, aby se neřeklo. Ani ťuk navíc. Stejně tomu je i s novým souborovým systémem WinFS, MS jej mohl implementovat do Visty, ale proč by to dělal? Prozřetelně ho odložil, ať se mají uživatelé na co těšit.

Dnes máme Explorer 7, Vista je na spadnutí a Microsoft má zase pár let k dobru.

« Starší články Novější články »