Stíluslap "kikapcsolása" JavaScripttel
Üdv Mindenkinek!
Egy olyan problémám lenne, hogy készítettem a weboldalamhoz két stíluslapot. Az egyiket 1024x768-as, a másikat 1280x1024-es felbontásra optimalizáltam (a célom az lenne, hogy ugyanúgy nézzen ki a honlapom mindkét felbontáson, mert 1280-on már nagyon kicsi az 1024-es és elveszik a tartalom).
Mindkét stíluslapot belinkeltem a dokumentum head-jébe így:
Így ugyebár az alsó 1024-es stíluslapot használja.
Azt szeretném elérni, hogy ha nagyobb felbontású monitoron nézik az oldalt, akkor a felső css legyen aktív!
Ezt egy JavaScript függvénnyel gondoltam megoldani, amely 1280-as szélesség esetén eltávolítja az alsó stíluslapot:
Valami ilyesmire gondoltam, de ez nem működik.:(
Ha valaki tud, légyszi segítsen hogyan írjam át a kódot, vagy milyen megoldást javasolna egy ilyen esetben (ez csak az én elképzelésem a megvalósításra) hogy szokták az ilyet megoldani általában?
Segítségeteket előre is köszönöm!
■ Egy olyan problémám lenne, hogy készítettem a weboldalamhoz két stíluslapot. Az egyiket 1024x768-as, a másikat 1280x1024-es felbontásra optimalizáltam (a célom az lenne, hogy ugyanúgy nézzen ki a honlapom mindkét felbontáson, mert 1280-on már nagyon kicsi az 1024-es és elveszik a tartalom).
Mindkét stíluslapot belinkeltem a dokumentum head-jébe így:
<link href="style1280.css" rel="stylesheet" type="text/css" id="felbont1280" />
<link href="style.css" rel="stylesheet" type="text/css" id="felbont1024" />
<link href="style.css" rel="stylesheet" type="text/css" id="felbont1024" />
Így ugyebár az alsó 1024-es stíluslapot használja.
Azt szeretném elérni, hogy ha nagyobb felbontású monitoron nézik az oldalt, akkor a felső css legyen aktív!
Ezt egy JavaScript függvénnyel gondoltam megoldani, amely 1280-as szélesség esetén eltávolítja az alsó stíluslapot:
window.onload=Load;
function Load() {
felbontas = window.screen.width;
elem = getElementById("felbont1024");
if (felbontas == 1280) removeChild("elem");
}
function Load() {
felbontas = window.screen.width;
elem = getElementById("felbont1024");
if (felbontas == 1280) removeChild("elem");
}
Valami ilyesmire gondoltam, de ez nem működik.:(
Ha valaki tud, légyszi segítsen hogyan írjam át a kódot, vagy milyen megoldást javasolna egy ilyen esetben (ez csak az én elképzelésem a megvalósításra) hogy szokták az ilyet megoldani általában?
Segítségeteket előre is köszönöm!
CSS csere
Css csere
A feltételben amúgy is 2 egyenlőségjelnek kell lennie nem? Mert a képernyő szélessége pont 1280px(bár sajnos így sem jó:().
Arra gondoltam nem lehetne-e egy új stíluslapot létrehozni a meglévő alá insertChild() vagy appendChild() tagfüggvénnyel? Mindjárt meg is próbálom, de még csak most tanulom a javascriptet így elég nehezen megy:).
Ez ie6 -tól felfele biztos működik (jquery)...
Remélem azért segít.
CSS csere
Attol, hogy a monitor felbontasa 1280 meg nem biztos, hogy a bongeszo teljes kepernyon fut a felhasznalonak. Nekem 1680-as felbontasom van wide monitoron es 1200 pixelnel szerintem nem szoktam tulhuzni a bongeszo meretet, mivel igy kenyelmessen elfer mas is a bongeszo ablak mellet. Szoval en kapnek egy szeles weboldalt a kis bongeszo ablakomba ha ez a megoldas mukodne. Nem hinnem hogy orulnek neki ha scrollozni kellene vizszintessen.
window.innerWidth
üdv,
Balázs
Egyszerű
Még mindig nem...:(
Ustak, ha lesz időd, meg kedved leírnád a második verziót tiszta js-ben? Mert ez sem működik, pedig én is valami ilyesmit képzeltem el, de valami nem jó.
Gabesz666: sajnos szerintem nem ilyen egyszerű, a document.writeln() függvény nem használható a head-ben, csak a bodyban és ott is szöveg kiíratásra, ha jól tudom.
Minden esetre köszi, kipróbáltam, de ez sem vált be.
Valahogy egy új link csomópontot kellene létrehozni a head-be, vagy a meglévőt lecseréltetni, mint Poetro megoldásában, de a kivitelezés még valamiért nem működik..:(
Addig is Boldog Karácsonyt mindenkinek és köszi mégegyszer!
Nu7ec
tiszta js:
üdv,
Balázs
Érdekes...
Boldog Karácsonyt! Üdv
Nem hiszem el...
Nem gondoltam, hogy ekkora fejtörőt találtam ki magamnak:(..
Egyenlőre kitalálok valami más megoldást (az a baj fogalmam sincs, hogy oldják meg az ilyesmit a profi honlapoknál, esetleg nem javascriptes eszközzel), beteszem a tartalmat középre, hogy kevésbé vesszen el nagy felbontáson, ez ügyben meg kutakodok tovább!
Köszönöm a segítséget!
Nu7ec
Nálam jó.
Stíluslapokat nem kavartad össze? Jó nevet adtál nekik? Megfelelő helyen vannak?
((ez a kód csak az első lefutásnál vizsgálja meg az böngésző méretét, ha utána átméretezzük azt akkor már nem fog semmit csinálni))
Egy stíluslapot szolgálnak ki minden böngészőnek. Abban a stíluslapban ha kell százalékos mértékegységeket adnak meg, és nem mindenhol pixeleznek. Vagy azt mondják hogy ekkora az oldal tartalma (szélessége) és kész (pl. itt a weblaboron). Az utóbbi se hülyeség mert bizonyos méret fölött már zavaró ha túl nagy egy oldal (olvashatatlan, már csak fejmozgatással lehet elolvasni a tartalmát)
Szóval szerintem esetek 99% ában nem használnék külön stíluslapot különböző mérető böngészőkhöz sem. (már csak azért sem mert a fenne akarna még plusz x stíluslapot karbantartani...)
üdv,
Balázs
Jesz!!!!:)
A probléma az lehetett, hogy én mindig csak frissítettem a böngészőt és nem indítottam újra:), de így tényleg működik!
Magyarázatként: a grafikus elemek miatt választottam ezt a megoldást, nem akartam, hogy az oldal szélessége 800px alatt legyen. A tényleges tartalom amúgy sem túl széles!
Van amit százalékban adtam meg, lehet, hogy ha többet játszok a százalékokkal,szerkezetileg meg tudtam volna oldani mindent, de a grafikai elemekben nem vagyok biztos, hogy jól néznének ki átméretezgetve.
Meg amúgy is rendkívül makacs vagyok:D! Kíváncsi is voltam, hogy működhet-e egy ilyen elképzelés!
Az oldal amúgy a saját honlapom lesz eléggé statikus tartalommal így elkészítés után nem hiszem, hogy szükségem lesz a css állandó karbantartására.
3 css-t akarok készíteni, egy 800x600-ast, egy 1024-est és egyet az 1280-as szélességhez!
Külön böngészőnként nem készítek stíluslapot, mert igyekeztem az oldalt úgy szerkeszteni, hogy IE-ben, FF-ban és Operán is megközelítőleg ugyanúgy nézzen ki!
A segítségedet (és a többiekét is) mégegyszer köszönöm! És most már tényleg Boldog Karácsonyt Mindenkinek!:)
Nu7ec