« 1 2 »
Autor Zpráva
abcdef
Profil *
Ahoj lidi. mám problém s operou. Potřebuju totiž si java scriptem napřed určit šířku monitoru a udělat výpočet, to dělám takhle :

sirka = screen.width
                  color = screen.colorDepth
                  onetable = ((sirka / 2) - 40)

a pak potřebuju tu proměnnou "onetable" načíst jako css styl sem :

document.write('.scroll{')
                            document.write("width: " + onetable + "px;")
                            document.write('overflow-y: auto;')
                        document.write('}')

tohle co jsem zapsal mi funguje všude jenom v opeře ne. podotýkám že to není funkcí overflow, protože když to zapíšu bez té proměnné jako takhle :

document.write('.scroll{')
                            document.write("width: 920px;")
                            document.write('overflow-y: auto;')
                        document.write('}')

tak to funguje i v té opeře a já už nevim co s tim. zkoušel jsem to přetypovat na strint na int... různě s tim manipulovat... nic. Nemá někdo prosím nějaké řešení? Děkuji
_es
Profil
abcdef:
Potřebuju totiž si java scriptem napřed určit šířku monitoru a udělat výpočet
Na čo to potrebuješ? Nepotrebuješ len správne napísať CSS hodnoty (bez JS)? Metódu document.write tam máš na čo?
abcdef
Profil *
Potřebuju protože ten problém související s tímhle, řešim už asi týden všemi způsoby jaké mě už napadly. Jde o to že mám dvě tabulky vedle sebe a předem nevim jak hodnoty v nich obsažené budou dlouhé a chci aby na každém rozlišení to vypadalo stejně, nicméně to se mi nedaří absolutně zařídit... čili teď mám nápad že udělám pro každou tabulku rolovátko a šířku každé z nich napřed vypočítám pomocí js. (nemyslim si že bys mi chtěl správně napísať celé css) document.write tam mám proto aby to ten java script odeslal do prohlížeče v nějaké formě... js na začátku stránky napíše část css... takhle :

document.write('<style type="text/css">')
                        document.write('#pageBound{')
                            document.write('float:left;')
                            document.write('position:relative;')
                            document.write('left: 50%;')
                        document.write('}')
                        document.write('#page{')
                            document.write('float:left;')
                            document.write('position:relative;')
                            document.write('right: 50%;')
                        document.write('}')
                        document.write('.scroll{')
                            document.write("width: " + onetable + "px;")
                            document.write('overflow-y: auto;')
                        document.write('}')
                        document.write('.myTable{')
                            document.write('border-collapse: collapse;')
                        document.write('}')
                        document.write('.myTable td{')
                            document.write('border: 1px solid black;')
                            document.write('padding: 10px 5px;')
                        document.write('}')
                  document.write('</style>')



Už nevim co s tim fakt :o/
_es
Profil
abcdef:
chci aby na každém rozlišení to vypadalo stejně
Prečo? Čo ak bude rozlíšenie veľmi malé? Ako potom návštevník to malé písmo prečíta? Alebo, čo ak bude JS vypnutý/nefunkčný?

šířku každé z nich napřed vypočítám pomocí js
Na čo? Snáď sa to dá nejako vhodne definovať aj bez JS.

aby to ten java script odeslal do prohlížeče v nějaké formě
No ale ak to predsa len chceš použiť, tak musíš do document.write odoslať naraz celý element <style>, nie hentaké neúplné kúsky kódu - to môže byť príčina tej nekompatibility.
abcdef
Profil *
_es:
odoslať naraz celý element <style>

a prosimtě jak?? já fakt už nevim.


V podstatě je mi jedno jak se to vyřeší, ale pokud do "width: " + onetable + "px;" dostanu tu proměnnou tak aby jí přečetla i opera mám celej problém vyřešenej
_es
Profil
abcdef:
a prosimtě jak??
Normálne:
document.write("<style>CSS kód</style>");
abcdef
Profil *
No jo, ale jak tam mám dostat celej ten odstavec???

<style type='text/css'>
            #pageBound{
                float:left;
                position:relative;
                left: 50%;
            }
            #page{
                float:left;
                position:relative;
                right: 50%;
            }
            .scroll{
                width: 150px;
                overflow-y: auto;
            }
            .myTable{
                border-collapse: collapse;
            }
            .myTable td{
                border: 1px solid black;
                padding: 10px 50px;
            }
        </style>



_es:
Na čo? Snáď sa to dá nejako vhodne definovať aj bez JS.

Nevím jak. Jak?
_es
Profil
abcdef:
jak tam mám dostat celej ten odstavec???
No však ho normálne poskladáš do výsledného textového reťazca. Operátor + na textové reťazce použiť vieš, tak nerozumiem, v čom je ešte problém.

Nevím jak. Jak?
Neviem čo. Skús ten tvoj problém nejako rozumne zrozumiteľne formulovať, možno ti niekto poradí. Relatívne pozicovanie tam máš prečo?
abcdef
Profil *
_es:
Prečo? Čo ak bude rozlíšenie veľmi malé? Ako potom návštevník to malé písmo prečíta? Alebo, čo ak bude JS vypnutý/nefunkčný?

KDyž bude mít velice malé... tak bude mít velice dlouhé rolovátko. Přečte protože když má malé rozlišení tak má veliké písmo. JS nemůže mít vypnutý.. na té stránce je ajax a podobně... js se tam využívá hojně. Pokud ho bude mít vypnutý nebude moc stránku používat.


_es:
No však ho normálne poskladáš do výsledného textového reťazca.

Nedělám to náhodou tímhle??

document.write('<style type="text/css">')
                        document.write('#pageBound{')
                            document.write('float:left;')
                            document.write('position:relative;')
                            document.write('left: 50%;')
                        document.write('}')
                        document.write('#page{')
                            document.write('float:left;')
                            document.write('position:relative;')
                            document.write('right: 50%;')
                        document.write('}')
                        document.write('.scroll{')
                            document.write("width: " + onetable + "px;")
                            document.write('overflow-y: auto;')
                        document.write('}')
                        document.write('.myTable{')
                            document.write('border-collapse: collapse;')
                        document.write('}')
                        document.write('.myTable td{')
                            document.write('border: 1px solid black;')
                            document.write('padding: 10px 5px;')
                        document.write('}')
                  document.write('</style>')
_es
Profil
abcdef:
Nedělám to náhodou tímhle??
Nie, čítaj rady pozorne, metódu document.write použiješ len raz.
abcdef
Profil *
len raz jo?? ... tak mmnt zkusim to nějak.. sice nevim jak přesně ale evidentně to mám asi uhodnout
panther
Profil
abcdef:
js se tam využívá hojně. Pokud ho bude mít vypnutý nebude moc stránku používat.
tak to je fajn... :)

JS pouzivat muzes, mel bys vsak dbat na dusledne nahrazeni JS funkci NoJS alternativou. Ale, jak myslis, je to tvuj web :)
abcdef
Profil *
panther:
nevim jak to udělat jinak? Nevim jak jinak určit šířku monitoru uživatele a pak udělat výpočet. Kdybys mi to řek byl bych ti vděčný.

_es:
Neuhodl jsem. Nevím jak se to dělá abych ho použil jen raz. Jak se to dělá?


panther:
...bez použítí js.
peta
Profil
<script>
var t = "\
<style type='text/css'>\
            #pageBound{\
                float:left;\
                position:relative;\
                left: 50%;\
            }\
            #page{\
                float:left;\
                position:relative;\
                right: 50%;\
            }\
            .scroll{\
                width: 150px;\
                overflow-y: auto;\
            }\
            .myTable{\
                border-collapse: collapse;\
            }\
            .myTable td{\
                border: 1px solid black;\
                padding: 10px 50px;\
            }\
        </style>\
        ";
alert(t);
document.write(t);        
</script>
Ale prijde mi to nesmyslne psat takto, kdyz tam muzes dat
<link href="./style.css" type="text/css" rel="stylesheet"/>
<style>@import url(./style.css);</style> // nebo
Uz jen ty upravy se vyrazne zjednodusi, kdyz si das 2 okenka vedle sebe a nebudes muset to vyhledavat v jednom velkem balastu kodu.

Jinak ti radili, ze to mas spojit v jednu velkou nudli a ne odradkovavat.
Nebo spojit pluskama
var aaa = "aaa"+
"bbb"+
"ccc";
alert (aaa);
_es
Profil
abcdef:
Nevím jak se to dělá abych ho použil jen raz. Jak se to dělá?
Viď [#6], trochu podrobnejšie: document.write("<style>Výsledný CSS kód poskladaný pomocou operátora + (reťazec1 + reťazec2), či inými vhodnými metódami pre textové reťazce v JS.</style>");
panther
Profil
abcdef:
sirku monitoru znat nemusis, stejne pak s tou hodnotou nikde nepocitas. 50% je v CSS stejnych jako v JS.
abcdef
Profil *
peta:
Jasný.. udělal jsem to tedy takhle :

var t = "\
<style type='text/css'>\
            #pageBound{\
                float:left;\
                position:relative;\
                left: 50%;\
            }\
            #page{\
                float:left;\
                position:relative;\
                right: 50%;\
            }\
            .scroll{\
                width: " + onetable + "px;\
                overflow-y: auto;\
            }\
            .myTable{\
                border-collapse: collapse;\
            }\
            .myTable td{\
                border: 1px solid black;\
                padding: 10px 50px;\
            }\
        </style>\
        ";
document.write(t);    

ano?? ... jenomže to má stejnej problém.. funguje to všude, ale v opeře ne.


panther:
počítám tohle v js:

 sirka = screen.width
onetable = ((sirka / 2) - 40)

a to potřebuju znát to číslo.
margin
Profil *
S CSS se nepracuje tak, že lamácky zmastíš jakási document.wrire, existující standardní techniky, pro začátek koukni na Dynamické HTML
Zajímat se o rozlišení monitoru je nesmysl http://latrine.dgx.cz/cas-optimalizovat-pro-zdravy-rozum

Pokud ti to funguje všude, kromě Opery, dej odkaz na živou ukázku a nějaké standardní řešení se určitě najde.
_es
Profil
abcdef:
Skús dať tie lomítka a konce riadkov z textových reťazcov preč. Asi si nedomyslel to, že v prehliadači môžu byť aj nejaké bočné panely.
abcdef
Profil *
margin:
tak jo... vygeneruju nějakou živou ukázku. protože.... tohle jinak nevyřešim.


_es:
bez lomítek to nefunguje vůbec.
panther
Profil
abcdef:
jeste jedna vec: dopocitas si nejake cislo, fajn. Uzivatel si potom zmensi/zvetsi okno prohlizece. Takto se s CSS opravdu nepracuje, doporucil bych studium jeho moznosti a ty pak vyuzil.
abcdef
Profil *
panther:
Tak prostě se mu ty dvě tabulky seskupěj pod sebe.. to už je mi jedno. Když bude zvěčovat jako šílenej jakejkoliv web tak se rozpadne. Já jsem zkoušel to css nastavit.. nastavuju tuhle blbost tejden už. A vyzkoušel jsem nespočet možností a měl jsem nespočet nápadů. Všechno selhalo. Nevim jak mít vedle sebe dvě tabulky s hodnotama o kterých předem nevím jak budou dlouhé jinak než že udělám pod každou rolovátko. A netušim jak určit velikosti obou tabulek jinak než posle monitoru uživatele. Udělám živou ukázku jenom s tim tady mám komplikace, protože je to velký celý moc.
panther
Profil
abcdef:
Když bude zvěčovat jako šílenej jakejkoliv web tak se rozpadne
opravdu? :)

A netušim jak určit velikosti obou tabulek jinak než posle monitoru uživatele.
potrebujes dve tabulky vedle sebe a mezi nimi nejakou mezeru... Proc musi byt ta mezera pevne dana (v px), a nepouzijes na sirku tabulky procenta a mezi nimi procentualni margin? Je to standardni reseni, prijde mi zbytecne vymyslet kolem toho podobne opicarny, ktere v dusledku stejne budou fungovat hure nez reseni skrz ciste CSS.
abcdef
Profil *
Jneže s tou živou ukázkou je problém... protože když to uložim jako index, tak to v té opeře jde.
margin
Profil *
abcdef:
s tou živou ukázkou je problém... protože když to uložim jako index, tak to v té opeře jde
To je úplně jedno, radu, jak jezdit na mrtvém koni, nedostaneš. Poradíme ti nějaké standardní řešení.
abcdef
Profil *
panther:
dobře dobře dobře.... dám na tebe a zkusím se tedy vydat tvojí cestou.. sice mám tedy pocit že už jsem tohle musel zkoušet, ale zdáš se býti zkušenějším takže na tebe dám. Čili položim otázku... Mám dvě <teble> jejich obsah čtu z db a normálně vypisuju jo??.... a teď... jak mám tedy napsat ty ID pro ty dva divy do kterejch ty tabulky uzavřu tak aby to to bylo bez problémů?


...vedle sebe
panther
Profil
abcdef:
jestli to jsou tabulky, staci ti tabulky, divy kolem nich nepotrebujes.

Obe budou mit float: left a sirku, prvni z pravy margin (nebo druha levy, je to jedno). Kdyz vsechny rozmery budou v procentech (sirka + sirka + margin = 100%), nemusis vymyslet zadne zhovadilosti tvorene javascriptem.
abcdef
Profil *
panther

jako že tohle :

<table style="float:left margin:100%">

u jedný a tohle

<table style="float:left>

tohle u druhý?
panther
Profil
abcdef:
ne. Tohle je prilis jednoducha otazka, abys na ni nemohl zkusmo prijit za par okamziku sam. Staci si uvedomit/precist/pochopit, co margin dela.

No, mozna postaci si poradne precist a idealne pochopit to, co jsem napsal v [#27].
_es
Profil
abcdef:
jako že tohle :
Čo tak najprv začať tu: CSS
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: