abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 3
    dnes 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    dnes 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1817 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Ideální míry

    27.3.2005 15:08 | Přečteno: 3938× | ostatní | poslední úprava: 27.3.2005 15:44

    Jaká je optimální šířka webu? Otázka, ketrá je schopná vyvolat stejný flame, jako obligátní LINUX versus Windows, Emacs vs. vim... Je lepší volit pevnou šířku, kde sice máme jistotu kompaktního layoutu, ale při větších rozlišeních je ze stránky úzká nudle, nebo radši zvolit procentuální rozložení, kde se při vyšších rozlišeních zase text kvůli příliš dlouhým řádkám nedá číst?

    Ideálem by přitom byla stránka "přirozeně" měnící svojí šířku dle rozlišení monitoru. Jak na to? Řešení je poměrně jednoduché a vystačí si s CSS1, JavaScriptem (a tím myslím opravdu elementární javascript) a trochou matematiky.

    Idea je následující: Zjistíme aktuální velikost obrazovky a podle této upravíme šířku layoutu tak, aby se stránka zobrazovala co nejlépe, tedy ani ne moc široká, ani ne moc úzká. Intuitivně by se toto dalo řešit pomocí předdefinovaných hodnot pro každé používané rozlišení, z praktických důvodů (lenost ;-) ) to však není řešení ideální. Zajímavější je použít nějakou funkci, která bude šířku layoutu měnit tak, aby se při libovolném rozlišení blížil ideálu. Jak takovou funkci ale najít?

    Při "konstrukci" té své jsem vycházel z toho, že pro rozlišení 800x600 potřebuju 100% plochy, při 1024x768 už ale layout vypadá nejlíp, když zabírá 85% obrazovky. První co mě napadlo bylo sestrojit lineární funkci procházející těmito body ( [800,100], [1024,85] ). Výsledeky pro rozlišení od 800x600 do 1600x1200 (větší nejsem schpnej otestovat) sice je o něco lepší, než při použití procentuální hodnoty, ale není to úplně ono. Hledaná "přirozená" funkce musí vypadat jinak. Vyzkoušel jsem proto pro dané body všechny druhy regrese, co nabízí moje AlgebraFX2 a "nejhezčí" výsledky dává regrese mocninná:

    y = ax^b , a = 8151, b = -0.6583

    Implementace kódu měnícího šířku DIV elementu('boundingbox') pak vypadá následovně:

    rozliseni = screen.width;
    if (rozliseni > 800)
        sirka = Math.floor(8151/(Math.pow(rozliseni, 0.6583)));
    else
        sirka = 100;
    
    element = document.getElementById('boundingbox').style;
    element.width = sirka + '%';
    

    Důležitou fintou aby toto fungovalo, je načtení tohoto kódu ihned po výskytu otvíracího tagu elementu ve stránce. Pokuď by se kód načetl dříve, dojde k chybě, neboť element (a tudíž i jeho vlastnost) ještě není definován. Při umístění na konec stránky by pak došlo k nežádoucímu efektu přeformátování načtené stránky na novou velikost.

    Při testování pozor na to, že žádný prohlížeč při změně rozlišení obrazovky automaticky nemění hodnotu screen.width. V IE je potřeba stránku znova načíst, v případě Mozilly je třeba restartovat dokonce celý prohlížeč. Praktickou použitelnost to ale moc neovlivní, protože, kolik uživatelů mění během brouzdání rozlišení?! Jak to celé vypadá v praxi je k vidění na straz.unas.cz. Na závěr pak ještě dodám, že toto řešení funguje ve všech moderních prohlížečích. (testoval jsem na: IE6, Mozilla, Opera, Konqueror)

    V komentářích rád uvítám Vaše názory na tuto metodu, případně Vaše ideální míry ;-)

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    27.3.2005 15:20 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše zajímavé
    ale pro mě asi nepoužitelné. Připadá mi to skoro zbytečné. Koukám, že neřešíš to jestli mám browser maximalizovaný nebo je to jen malé okénko. Nebylo by lepší nechat šířku stránky jen a pouze na samotném CSS?
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    27.3.2005 15:34 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: zajímavé
    Nebylo by lepší nechat šířku stránky jen a pouze na samotném CSS?

    IMHO nebylo, protože pak nastává jeden ze dvou problémů popsanejch nahoře - buď je to moc úzký, nebo moc široký a nedá se to číst.

    Koukám, že neřešíš to jestli mám browser maximalizovaný nebo je to jen malé okénko.

    To je pravda, vycházim z předpokladu, že většina uživatelů má prohlížeč maximalizovanej. Po pravdě řečeno ani nevim, jak aktuální velikost plochy okna zjistit... Javascript používám jenom v krajních případech a to jenom tak, aby to fungovalo i bez něj.

    Každý má právo na můj názor!
    27.3.2005 15:50 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: zajímavé
    Něco jako je na tomhle webu ti nepomůže?
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    27.3.2005 16:44 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: zajímavé

    Tak jsem si s tim chvili hrál a použití document.body.offsetWidth (velikost okna) mi nepřijde lepší řešení než screen.width.

    Každý má právo na můj názor!
    27.3.2005 17:32 k3
    Rozbalit Rozbalit vše Re: zajímavé
    hmm tak dalsi nepouzitelny web. Kdyz to na mem desktopu zjisti sirku obrazu a spocita si to "spravnou" sirku tak si to nastavi sirku vetsi nez je srka okna prohlizece. Nejak se nepocita s tim, ze nekdo muze mit dva monitory...
    27.3.2005 17:38 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: zajímavé
    Šířka elementu je udaná v procentech a přes 100% to díky podmínce nemůže jít. Takže leda že by s tim, že máte 2 monitory nepočítal samotnej prohlížeč, což ale opravdu neni problém webu...
    Každý má právo na můj názor!
    27.3.2005 17:41 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: zajímavé
    A navíc je ta funkce klesající...
    Každý má právo na můj názor!
    27.3.2005 17:52 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Ach jo
    No to je zase vynález. Ještěže mám JS trvale vypnutý.

    To je snad moje věc, jak mám velké okno prohlížeče a písmo. A pokud mi chceš vnutit obojí, tak mi pak ještě vnuť správně velký monitor a nastav mi na něm to správné rozlišení -- a nemusíš nic detekovat. A pokud nechceš, tak udělej normální fluidní design.

    Omlouvá tě jedině to, že je to s vypnutým JS docela použitelné.
    27.3.2005 18:23 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Ach jo

    S vypnutym JS to neni "docela" použitelný ale zcela použitelný. Chová se to, jako kdyby to byl obyčejnej fluidní layout s šířkou 85%

    Nicméně např. při 1600x1200 už je 85% opravdu moc a text se blbě čte. 63% je pak IMHO tak akorát. Nejde o to vnutit někomu to "správný" rozlišení, právě naopak jde o snahu, aby to bylo použitelný při libovolnym rozlišení.

    Každý má právo na můj názor!
    27.3.2005 18:32 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Ach jo
    Jenže když mám 1600x1200 a stejně velké písmo jako při 800x600, tak se čtou špatně úplně všechny weby.

    Proto když ti přilezu na web s neobvyklým rozlišením, musíš předpokládat, že (a) mám takhle velké okno, protože vím, co dělám, mám třeba větší písmo nebo cokoli, a pak se mi do toho nemáš co plést (b) jsem debil, co si neumí zmenšit okno, i když se mu v něm čtou špatně všechny weby, a pak dobře mi tak.

    Ad 85% bez JS. Samozřejmě je to vinou volného prostoru napravo podivně asymetrické, ale už jsem viděl horší layouty ;-)
    Valoun avatar 27.3.2005 18:32 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Fuj
    1.) Potrebuje to JS
    2.) Nezkousel jsme to na dvoumonitorove konfiguraci, ale asi to bud delat neplechu.
    3.) Na mem notasu to nechava 1/4 obrazovky permanentne prazdnou. Ani zvetseni pisma nepomuze.
    4.) Co takhle zkusit dat pouze toto:
    width: 90ex;
    max-width: 980px;
    min-width: 700px;
    font-size: medium;
    
    Kazdy si muze zvetsit pismo dle libosti, sirka stranky se tomu prizpusobi, ovsem v rozumnych mezich. A kdyz pridas schovavaci sidebary a la abclinuxu, tak si prijde na sve snad kazdy. ukazka
    27.3.2005 18:49 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Fuj
    ad 1) Ano, ale bez JS je to zcela funkční
    ad 2) Proč mysíš? (taky jsem nezkoušel - nemám kde)
    ad 3) Nechápu, ten tvůj web mi taky nechává víc jak 1/4 obrazovky prázdnou. Jde jenom o to kde, a mně se to víc líbí asymetricky.
    ad 4) Tohle by samozřejmě taky šlo, ale nebude to mít zcela ideální výsledky ;-)
    Každý má právo na můj názor!
    27.3.2005 19:25 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Fuj
    ad 4) Hmm, tak nešlo, protože IE max-width nepodporuje...
    Každý má právo na můj názor!
    Valoun avatar 28.3.2005 00:01 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Re: Fuj
    Hacky pro IE jsem zde samozrejme neuvadel. Zajimam se pouze o moderni prohlizece. A v IE opravuju jen to co OPRAVDU hori.
    28.3.2005 13:11 Petr Soběslavský | skóre: 2 | blog: Sobův blog
    Rozbalit Rozbalit vše no, nevim, nevím
    při větších rozlišeních je ze stránky úzká nudle

    A co když má uživatel nastavené velké písmo (třeba 40px) - pak se mu i při rozlišení 2000 x nevimkolik px zobrazí na řádek třeba 40 znaků, což je v pořádku.

    Není v tom případě snad lepší max-width:60em;? - IE to sice nepodporuje, ale když má někdo velké rozlišeni, vadí mu dlouhé řádky a přitom pořád používá IE, pak je mu každá pomoc drahá..

    28.3.2005 13:18 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: no, nevim, nevím

    Stejná připomínka jako od Yetiho. Oba dva ale předpokládáte "uvědomělé" uživatele co si prohlížeč pro vysoký rozlišení náležitě "vyladí". Těch je ale IMHO zanedbatelný množství.

    Každý má právo na můj názor!
    28.3.2005 14:04 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: no, nevim, nevím
    Ne, já předpokládám obě varianty. Kdo není uvědomělý, tak si snad alespoň nezvětšuje okno tak, aby se mu všechno blbě četlo?

    Naproti tomu ty předpokládáš jediný typ uživatele -- a to právě toho, který tohle dělá.
    28.3.2005 19:59 Petr Soběslavský | skóre: 2 | blog: Sobův blog
    Rozbalit Rozbalit vše Re: no, nevim, nevím

    Když budu myslet na většinového uživatele, tak tam plácnu width:780px; a minimálně v 90% případů to bude v pořádku. Extrémně velké rozlišení má menšina, takže i všechny snahy o přizpůsobení jsou mířeny k menšině uživatelů, a stejně jako jsou menšinou lidi s velkým rozlišením, jsou menšinou i lidi s vypnutým javascriptem, jsou menšinou i lidi s nastaveným velkým písmem..

    29.3.2005 15:15 kavol
    Rozbalit Rozbalit vše Re: no, nevim, nevím
    Oba dva ale předpokládáte "uvědomělé" uživatele co si prohlížeč pro vysoký rozlišení náležitě "vyladí".
    co je tohle za pitomost, s prominutím?

    co bych měl ladit? mám v práci 17'' monitor, na kterém je maximální použitelné rozlišení 1280*1024, doma taky 17'' ale s 1600*1200 a na notebooku cca 14'' s 1024*768, a když chci písmo "dvanáctku", tak je všude vysoké 12 bodů, bez ohledu na to, kolik to znamená pixelů nebo procent z výšky obrazu ... problém při návrhu webu není rozlišení, ale skutečně dostupná šířka okna, a to se prostě musí (ehm) nechat na uživateli :-(

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.