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 12:44 | Nová verze

Po roce vývoje od vydání verze 5.2.0 byla vydána verze 5.3.0 svobodného integrovaného vývojového prostředí KDevelop (Wikipedie). Novinkou je analyzátor Clazy. Vylepšena byla podpora programovacích jazyků C++, PHP a Python. Ke stažení a k vyzkoušení je i binární balíček s KDevelopem 5.3.0 ve formátu AppImage.

Ladislav Hagara | Komentářů: 0
dnes 05:55 | Komunita

Ubuntu 19.04 bude mít kódové jméno Disco Dingo. Dle oznámení v diskusním listu ubuntu-devel-announce je ve vývojové verzi Disco Dinga výchozím Pythonem 3 verze 3.7. Perl byl aktualizován na verzi 5.28. OpenSSL 1.0 bude nahrazeno OpenSSL 1.1.1 LTS. Nové instalace Dinga budou mít sloučený /usr. Stane se tak 7 let po sloučení /usr ve Fedoře nebo Arch Linuxu.

Ladislav Hagara | Komentářů: 5
dnes 02:22 | IT novinky

V pondělí a úterý proběhl v San Franciscu Chrome Dev Summit 2018. Přehled dění v příspěvcích na Chromium Blogu. Videozáznamy přednášek na YouTube. Představen byl například web pro webové vývojáře web.dev nebo rozšíření webového prohlížeče Chrome s názvem VisBug (YouTube) určené pro webdesignery. Slíbená je podpora Firefoxu.

Ladislav Hagara | Komentářů: 0
včera 23:22 | Zajímavý projekt

Byl spuštěn Humble Dystopian Bundle. V balíčku počítačových her jsou také hry běžící na Linuxu: Beholder, Orwell: Keeping an Eye On You, Orwell: Ignorance is Strength a Observer.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Zajímavý článek

Jan Klat publikoval na Medium výsledky ankety věnované platům PHP vývojářů. Zúčastnilo se 419 respondentů. Kompletní výsledky na Tabulky Google.

Ladislav Hagara | Komentářů: 1
včera 22:22 | Nová verze

Byla vydána nová verze 1.29 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Představení novinek také na YouTube.

Ladislav Hagara | Komentářů: 0
včera 11:47 | Pozvánky
Začínáte s automatizací? Chcete se naučit správně používat Ansible? Přijďte na další Prague Containers Meetup 20. listopadu v prostorách Seznamu v Praze na Andělu.
little-drunk-jesus | Komentářů: 0
včera 11:47 | Pozvánky
V úterý 20. 11. v Praze proběhne akce Oracle Czech Republic Meetup Group. Od 18.00 si budete moct vyslechnout přednášky NetSuite Developer Toolset a Product Recommendations system at Bronto.
RichardF | Komentářů: 0
včera 10:33 | Nová verze

Byly aktualizovány živé instalační obrazy průběžně aktualizované linuxové distribuce Void Linux (Wikipedie). Nejnovější obrazy ve verzi 20181111 jsou k dispozici vedle i686 a x86_64 také pro jednodeskové počítače s ARM: BeagleBone, Cubieboard, Odroid a Raspberry Pi. Void Linux používá balíčkovací systém XBPS (X Binary Package System), LibreSSL a init systém a správce služeb runit. Ke stažení jsou obrazy postavené jak nad glibc, tak nad musl.

Ladislav Hagara | Komentářů: 3
včera 02:00 | IT novinky

Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává superpočítač Summit. Český superpočítač Salomon klesl na 213. místo. Další přehledy a statistiky na stránkách projektu. V aktuálním žebříčku GREEN500 (GFlops/watts) obsadil superpočítač Summit 3. místo.

Ladislav Hagara | Komentářů: 0
Jak nejčastěji otevíráte dokumenty na počítači?
 (88%)
 (4%)
 (7%)
Celkem 69 hlasů
 Komentářů: 4, poslední včera 14:36
Rozcestník

Ideální míry

27.3.2005 15:08 | Přečteno: 3561× | 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.
Martin Tůma avatar 27.3.2005 15:34 Martin Tůma | skóre: 38 | 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.
Martin Tůma avatar 27.3.2005 16:44 Martin Tůma | skóre: 38 | 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...
Martin Tůma avatar 27.3.2005 17:38 Martin Tůma | skóre: 38 | 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!
Martin Tůma avatar 27.3.2005 17:41 Martin Tůma | skóre: 38 | 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é.
Martin Tůma avatar 27.3.2005 18:23 Martin Tůma | skóre: 38 | 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
Martin Tůma avatar 27.3.2005 18:49 Martin Tůma | skóre: 38 | 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!
Martin Tůma avatar 27.3.2005 19:25 Martin Tůma | skóre: 38 | 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á..

Martin Tůma avatar 28.3.2005 13:18 Martin Tůma | skóre: 38 | 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.