| Autor | Zpráva | ||
|---|---|---|---|
| Keilew Profil |
#1 · Zasláno: 15. 10. 2006, 19:43:50
Dalo by se pomocí CSS "expression" šoupat objektem podle výskytu či nevýskytu scrollbaru? Tuším ale že Firefox expression neumí. Jak tedy zařídit krytí popředí (nacentrované) a pozadí (když tam jsou třeba svislé čáry) v závislosti na velikosti okna? Určitě se tím někdo zabýval, jen to nemůžu najít...
|
||
| peta Profil * |
#2 · Zasláno: 16. 10. 2006, 16:54:22
Keilew
To je napsane tak, ze nechapu, na co se ptas. Co znamena soupat objektem? Drag & Drop? - FF expression ne, ze neumi, on ho nezna. Proc by mel umet neco, co neni vubec zapotrebi ve FF? To je proste vymysl microsoftu. To je ten, co dela windows a podobne smejdy za penize. Asi polaci :))) Z jakeho duvodu by mel byt JS v CSS? Proc nemuzes nalinkovat 1 CSS a 1 JS, proc to davat do CSS? Co tim ziskas? - Ve FF lze ale pouzit XBL, v IE HTC. - Videl jsem pouzit expression pro simulaci min-width v IE. S D&D si ted shodou okolnosti hraji a celkem zajimavy script je tento: //--- begin Drag Drop --- var obj,tempX,tempY,coorX,coorY; function onMouseDown(e) { obj = this; if (document.layers) { tempX = e.pageX; tempY = e.pageY; } else if (document.all) { d = document; d = d.documentElement ? d.documentElement : d.body; tempX = event.clientX - parseInt(obj.style.left) + d.scrollLeft; tempY = event.clientY - parseInt(obj.style.top ) + d.scrollTop ; } else if (obj.getElementsByTagName) { tempX = e.pageX - parseInt(obj.style.left); tempY = e.pageY - parseInt(obj.style.top ); } return false; } function onMouseMove(e) { if (!obj) { return true; } if (document.layers) { coorX = e.pageX - tempX; coorY = e.pageY - tempY; obj.pageX = coorX; obj.pageY = coorY; } else if (document.all) { d = document; d = d.documentElement ? d.documentElement : d.body; coorX = event.clientX - tempX + d.scrollLeft; coorY = event.clientY - tempY + d.scrollTop; obj.style.left = coorX + "px"; obj.style.top = coorY + "px"; } else if (obj.getElementsByTagName) { coorX = e.pageX - tempX; coorY = e.pageY - tempY; obj.style.left = coorX + "px"; obj.style.top = coorY + "px"; } obj.title = coorX + ":" + coorY; return false; } function onMouseUp(e) { obj = null; } function doInit() { var f,o,o1; f = window.document; o = objGet2(f,"mapa"); o1 = o.childNodes; for (i=0;i<o1.length;i++) { if (document.layers) { o1[i].captureEvents(Event.MOUSEDOWN); } o1[i].onmousedown = onMouseDown; } if (document.layers) { o.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); } o.onmousemove = onMouseMove; o.onmouseup = onMouseUp; } //--- end Drag Drop --- Zvlast se mi libi, jak je maly a vcera jsem tam zrovna daval vec, aby mi to chodilo ok v IE, FF, O. Jak se to ale chova v tech starsich, to netudsim. |
||
| Keilew Profil |
#3 · Zasláno: 16. 10. 2006, 17:43:22
Ta stránka zdaleka není hotová, ale jako příklad naprosto stačí. Odkaz zde. Pozadí se seskládá ze svislých čar a mezer, celková šířka jednoho sub-celku je 5px. Pokud budeš měnit rozměr stránky (stačí, když přibyde scrollbar), logicky se proužky pozadí rozhodí oproti proužkům na krajích a nad headerem. Jinak to kvůli stínům stejně neudělám. Otázkou je, jak donutit polohu toho kontejnéru, aby sledovala šířku okna a patřičně ji kompenzovala (nějaký modulo 5 a nějak to přičíst nebo tak podobně...)
Jinak Drag and Drop, to je pořádná frajeřina;-) |
||
| peta Profil * |
#4 · Zasláno: 16. 10. 2006, 20:07:03
"logicky se proužky pozadí rozhodí oproti proužkům na krajích "
Tak to nechapu. Preci kdyz dam prouzky zarovnat CSS: background-position 0 0; cili zhora 0 zleva 0, tak se ti to nema proc rozhodit, ne? A nevim, proc to davas do JS, kdyz je to problem toho, ze neumis CSS. |
||
| DJ Miky Profil |
#5 · Zasláno: 16. 10. 2006, 20:19:15
Zarovnej to pozadí na střed a vykašli se na JavaScript...
Prostě background-position: top center; a nebude se ti to hýbat... Pokud ti to nebude úplně vycházet, tak změň ty soubory, ať to navazuje... A bude to navazovat vždycky... Při jakékoliv velikosti okna a scrollbaru... |
||
| Keilew Profil |
#6 · Zasláno: 16. 10. 2006, 20:58:24
DJ Miky
Ta nejjednodušší řešení jsou většinou ta nejúčinnější. Tohle je přímo geniální, díky!:-)) Nacentrovat pozadí na body mě vůbec nenapadlo, dobrej fígl;-) |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0