Autor Zpráva
Anonymní
Profil *
Při různém rozlišení se objevuje u nižšího posuvník.Dočetl jsem se ,že pokud vytvořím stránky pro každé rozlišení zvlášť, mohou se pomocí scriptu který zjistí rozlišení vždy zobrazit stránky patřičného rozlišení.Problém je pro mne v tom že nevím jak to do scriptu dopsat.Každá stránka s jinym rozlišením se musí přece jinak jmenovat.Script jsem napsal do indexu.Uvedený script je

<script language="javascript">
sirka=screen.width
if(sirka==800){self.location.href="secversion/index.html"}
else(self.location.href="index.htm")
</script>

dík Milan
Meldo
Profil
<script type="text/javascript">
var sirka=screen.width;

if (sirka<=800) { window.location="stranka800.html"; }

if (sirka>800 && sirka<=1024) { window.location="stranka1024"; }

if (sirka>1024 && sirka<=1280) { window.location="stranka1280"; }
</script>

Niečo takéto? Lebo neviem či som to správne pochopil.
Meldo
Profil
Ale túto metódu ti moc nedoporučujem (teda pokial netahas data z databazi). Lebo rucne upravovat vzdy 2, 3 a viac stranok je hrozne unavne a neefektivne. To radsej sprav stranku na rozlisenie 800*600
Mistr
Profil
A nebo to dělej v procentech. Já vím, vždycky to nejde, ale je vždy velmi výhodné to použít.

Jo, a při návrhu stránky nezapomeň, že někteří čtenáři budou mít třeba otevřené okno Hledání či Historie (v Internet Exploreru), takže se Ti šířka stránky zase zmenší o nějakou část. Záměrně píši "nějakou" část, protože to okno Historie či Hledání, jak asi víš, lze roztahovat či zmenšovat.
Meldo
Profil
Mistr


Jo, a při návrhu stránky nezapomeň, že někteří čtenáři budou mít třeba otevřené okno Hledání či Historie

ak má niekto 15' monitor a rozlíšenie 800*600 a ešte má aj otvorené hladanie ci inú postrannú lištu tak to už je podla mna veľmi veľký luxus. na týchto užívateľov kašlať. to už potom môžem prerobiť stránku tak, aby išla pekne aj v PDA či mobile.

Anonymní

V percentách je skutočne asi najlepšie riešenie.
Anonymní
Profil *
V procentech to asi nebude špatné.Již jste mě dřív poradili udělat to v pixelech.Tohle se osvědčilo až na ten posuvník.Řešení na které se ptám jsem vyčetl v knížce ,zdálo se mě schůdné nebo jsou lidi kteří se dívají i na noubuk.Vytvořit celý web znova v různých rozlišeních bude opravdu fuška.Pokud bych to udělal jen na rozlišení 800*600 tak při vysokém rozlišení to nikdo nepřečte.Písmo bude příliš malé.Pokusím se využít všech vašich rad a pak se rozhodnu.Čekám na další případné rady.
dík Milan
Meldo
Profil
Vytvorit cely web v iných rozlíšeniach nemusí byť ani tak náročné ako jeho následná aktualizácia do niekoľkých rozlíšení. Skôr toho by som sa bál. Ak sa ale jedná o web, kde sa bude aktualizovať len raz za mesiac tak je to vpohode.

na notebookoch 15' je rozlisenie myslim 1024*768 takze to je ok. na 17' este viac.

Mas asi taketo moznosti:

1: Bud to urobis natahovacie v % - to je ale trosku problematické - písmo je niekedy tam, kde nemá byť hlavne pri zväčšovaní písma.

2: alebo to urobis fixne na rozlisenie 800*600, alebo 1024*768 (musis si ale nechavat nejaku rezervu na prave scrollovatko cca 10px) a umiestnit dostredu. Ak chces aby to bolo citatelné udávaj písmo bud v % alebo v css typu small, large, medium a pod. to sa da zväčšiť.

3: alebo tym javascriptom. Nezabudni však na tých, čo majú JS vypnutý!

Zaujímavo je ale spravené toto fórum. Pekne sa zobrazuje dokonca aj na mobile. Je to asi % robené.
Ak más operu vyskúsaj shift+F11.
Mistr
Profil
Nezabudni však na tých, čo majú JS vypnutý!
Zase jich ale tolik není (čímž nepopírám, že i takoví existují).
Meldo
Profil
Zase jich ale tolik není (čímž nepopírám, že i takoví existují).

treba hlavne poznať cielovú skupinu ktorá bude navštevovať web. ak je to stránka určená pre pc maniakov tak je tam určite väčšia šanca že narazíš na tých, čo majú js vypnutý.

ak je to ale stránka pre dojčiace mamičky (:- nevim prečo ma toto napadlo) tak si môžeš byť 100% istý že js bude zapnutý.
Anonymní
Profil *
Meldo mé stránky jsou www.vcelarstvi.info Ale kvůli jedné dojčiace mámě odpovídám až dnes.Jsem čerstvý dědek.A proto jsem zatím nic nevyzkoušel.Už se do toho dávám.Na tvorbu mých stránek jsem hodně používal rad z těhle stránek.Využiji je určitě i teď.Nejvíc se mě zamlouvá javascript.
všem dík Milan
Anonymní
Profil *
lidi kolik stiji nnejdrahsi noubuk
tiso
Profil
Anonymní táto otázka vôbec nesúvisí z nadpisom tejto témy, založ si vlastnú diskusiu, najlepšie v sekcii Nezařaditelné dotazy.
Anonymní
Profil *
zná někdo nějaký javascript, který podle rozlišení nahraje css styl ???
Meldo
Profil
Anonymní
Co tak upravit si trosku ten horny script?
<script type="text/javascript"> 

var sirka=screen.width;

if (sirka<=800) {
document.write("<link rel='stylesheet' type='text/css' href='./style/800.css' />");
}

if (sirka>800 && sirka<=1024) {
document.write("<link rel='stylesheet' type='text/css' href='./style/1024.css' />");
}

if (sirka>1024 && sirka<=1280) {
document.write("<link rel='stylesheet' type='text/css' href='./style/1280.css' />");
}
</script>
Meldo
Profil
Anonymní
Music to ale dat medzi <head> samozrejme.
Jan Wewan
Profil
Mám prosbu, šlo by místo odkazu na css styly vložit odkaz na další java script ? Zkoušel jsem různý způsoby a zatím bez úspěchu. Díky předem za radu.

<script type="text/javascript">
var sirka=screen.width;

if (sirka<=800) {
document.write("<link rel='stylesheet' type='text/css' href='./style/800.css' />");
}

if (sirka>800 && sirka<=1024) {
document.write("<link rel='stylesheet' type='text/css' href='./style/1024.css' />");
}

if (sirka>1024 && sirka<=1280) {
document.write("<link rel='stylesheet' type='text/css' href='./style/1280.css' />");
}
</script>
habendorf
Profil
Mám prosbu, šlo by místo odkazu na css styly vložit odkaz na další java script ?

Ano. Úplně stejně.
Jan Wewan
Profil
Ano. Úplně stejně.[/i]

A mohl bych tě poprosit, jak se to zapíše ( tedy konkrétní příklad ). Zkoušel jsem různý varianty a neuspěl jsem. Vkládal jsem toto:
<script language="JavaScript" src="menu.js"></script>.
a ruzně upravoval a pořád to hlásilo chyby. Díky.
vendo
Profil
Príspevok do diskusie:

Percentá je len počiatočné vodítko. Vtip je v tom, že isté lišty alebo prvky treba zadať pevne - napríklad 25px, a zvyšok relatívne. Percentá však môžu byť príliš "hrubé". Navrhujem prepočet šírky pomocou:

var sirka=parseInt(document.body.clientWidth mínus ..., 10) - teda pomocou takto definovanej šírky screenu vyrátať:
1. pozíciu elementu
2. veľkosť elementu

Toto prerátanie je presnejšie ako percentá, ale dopručujem pracovať s DIV oddielmi, tabuľka má svoje muchy. Doporučujem kombinovať pevné prvky s pozicovanými, ukotvenými vpravo, vľavo, hore, dolu a na vyrátaný - nemusí byť centrálny voči screenu, ale voči voľnej grafickej ploche - STREDu. Nesmelé pokusy - je to zatiaľ skôr smetisko - nájdete na vendo.borec.cz.

Ja mám taký problém, že centrálna animačná tabulka pri 22" monitore má okolo seba veľa priestoru - je to hluché - a pri 800x600 sa to tlačí cez seba. Taktiež musím myslieť na rôzne nastavenia výšky preehliadačov, preto mám 2 možnosti, ktoré sa mi zatiaľ nepodarilo rozlúsknuť:

1. V channel móde alebo fullscreen móde potrebujem doplniť vlastné menu, najmä lištu pre napísanie URL adresy - cez formulárový input, ale neviem aký action parameter mu udať. History sa dá cez GO, a ešte by bolo vhodné STOP a ikonka pre vypnutie a minimalizáciu prehliadača.

2. Rešpektovať užívateľove nastavenia, ale potom treba nejako vyplniť prípadnú hluchú plochu obrázkami - a to je superkomplikované:
Musela by sa vbyrátať možná voľná plocha vrátane nevyhnutného aspoň 10px odstupu od ostatných elementov, potom vyrátať, koľko takýchto miniobrázkov so šírkou 55-60px a hrúbkou borderu 2px by sa do takéhoto oddielu malo cez modulo delenie vyrátať počet dostupných obrázkov na šírku aj výšku tak, aby nezostal presah, a ten presah sa bude vlastne skracovať týmto výpočtom - proste ak vojed 8 fotiek, tak 8 a nič viac ani menej, ak nevojde, bude ich 7 a bude väčší okraj okolo "centrálnej" animačnej tabulky. Napokon treba vyrátať najťažšiu časť: algoritmus zobrazovania - v tomto prípade je to "dvojitý slimák", ale ako si môžete všimnúť v zdrojíku, ašte mi to s funkciami cez ++ a cyklické prechádzanie poľa, či dokonca vnáranie polí, zatiaľ nejde. Konečným cieľom by vlastne bolo urobiť takýto efekt podťa 3-4 algoritmov, ktoré by sa vyberali náhodným číslom - spočítaním položiek času - a modulo delením.
----------------
Myslím 16.12 niekomu nefungoval externý script, zápis vyzeral byť v poriadku - hehe, to by asi ani nehlásil chyby, proste by nešiel...
1. chyba može byť iba v externom súbore...
2. JavaScript má myslím cez 5 verzií. Skúste si otvoriť súčasnú JS stránku na takom archaickom MSIE3 alebo 4, bude to hlásiť chyby kvôli zrejme novšej verzii JS...

---------------
P.S.: Ak sa budete dívať na moju stránku, pozrite si iba sekciu MILOS, (ostatné je zatiaľ prázdne, tu iba testujem nové nápady a videné ukážky), - v sekcii POZNÁMKY AUTORA mám animovaný text, at to 2 spôsobmi:
1. nadpis chodí OK,
2. text vo firefoxe bliká!!! - vie mi niekto povedať prečo??? (externý zdroják je v: vendo.borec.cz/milos/animtext1.js). VĎAKA!
---------------
Inak nelámte si hlavu z písma ktoré sa môže zväčšiť/zmenšiť, a tým rozhádzať grafiku stránky. Stačí zadať veľkosť písma napevno v px, a písmo sa nepohne. Vyskúšajte tiež na týchto stránkach...
vendo
Profil
DODATOK:

Písať rozlíšenie na percentá nie je dobré riešenie - pomer výšky a šírky nie je vo veľa prípadoch stály!!! Klasický monitor má pomer strán 4:3, LCD aj 16:9, ale pomer strán zobrazenej plochy je už úplne iný, dajú sa z hora ukrajovať pásy, ktoré zaberú rôzne prídavky ako nav-bary, taktiež je rozdiel medzi klasickým pomerovým rozmerom IE, Mozilly, Opery, a to ešte väčšina nevie, čo môže robiť také Safari, apd... /safari je prehliadač pre MacOs/. Preto je asi najvhodnejšia kombinácia pevných prvkov /ako by sa vám páčilo, keby sa fotka s rozmermi 100x150px zobrazila ako 85x180px?/. Takže treba to urobiť plávajúco - pevné prvky ukotvené relatívne - na tie desatiny percent - v priestore. Problém však je ak treba tieto prvky tiež zväčšovať, čo nie vždy ide v plnom rozsahu proporčne. Jedným z riešení je urobiť obsah s pevnou veľkosťou, - napr. 100x100px, - ale s premenlivým počtom na ploche.
janick
Profil *
Neni na zjisteni rozliseni i nejaka PHP proměná? mam stejny porblem, ale javascript se mi nechce pouzivat.
Meldo
Profil
PHP je serverovy jazyk. A z tohoto dovodu je to nemozne. Vykonava sa na servery a do prehliadaca pride hotovy html kod.

JavaScript je naopak klientsky jazyk, ktorz sa vykonava v prehliadaci.
janick
Profil *
to je skoda, prave ze phpko toho umi zjistit o uživateli celkem dost. jako treba ip adresu, prohližeč, OS, a ještě hodně dalšich blbosti. nevadí, už jsem to udelal javascriptem.
vendo
Profil
For Janick:

PHP je iba otrocky interpret aj tak HTML kodu, jedine ci Ti moze priniest spolu s SQL je automatizacia a tiez cez kaskadove skryvanie plus hesla - nejake zabranenie aby sa Ti niekto dostal do nejakeho Tvojho adresaru...

Riesenie je na tabulky-DIVy (a pecenta), ale skutocne riesenie je odcitanie momentalnej sirky a vysky dostupnej obrazovky a tu potom pripadne delit systemom delenia so zaokruhlenim dolu, potom toto cislo zase nasobit povodnym celym cislom, (naprilkad pri zistenej sirke obrazovky 950px deleno 70 px + 2 px obrazok, vychadza nam to asi BEZ ZVYSKU asi formatom (2+70+2+70+2+70+2+70+2...) a toto musi byt menej ako 950 px: 938 px za 13 x, a ten zvyšok je 938 - 950 = mínus 12 px, takže sa zacentruje nový objekt z ľavej strany na 6 px, a z pravej stravy tiež 6 px, teda na stred.
Kapo
Profil *
Ja mám tiež problém...spravil som nový design v CSS no a tam mám že: <div id="hlavobr">blahblahblah...</div> no a v css mám:

#hlavobr {
float: centre;
width: 1024px;
text-align: center;
background-image: url(images2/menu.gif);
height: 30px;
border-top: 6px outset rgb(0,0,0);
border-bottom: 6px inset rgb(0,0,0);
}
ide to krásne, ja rámik, aj background image ide, lenže ja chcem, aby to šlo pri každom rozlíšení, keď zväsím rozlíŠenie, tak je vždy vpravo veľká medzera, keď to nastavíim ako width 1260 pix, tak keď dám zase menšie rozlíšenie, tak to zase ukáže minimálne tretinu scroll - lištu (dolnú), poraďte prosím.
Toto téma je uzamčeno. Odpověď nelze zaslat.