Autor Zpráva
Vavroch
Profil
Zdravím
Prosím o radu,jelikož mi věci,co nyní řeším nezbývá jiné řešení,zajímalo by mne ,zda se dá pomocí php(či jinak) rozlišit rozlišení monitoru uživatele a podle toho přiřadit css soubor.
Šlo by v podstatě jen o podmínku :

když rozlišení na šířku< než 1280
přiřad css.1
jinak
přiřaď css.2


Je nějaká možnost fční ve všech prohlížečích?
Děkuji za radu.
kubiseg
Profil
<script language="javascript">
var sirka = screen.width;

if (sirka < 1280)
{
   document.write('<link rel=stylesheet type=text/css href=styl1.css />')
}
else
{
   document.write('<link rel=stylesheet type=text/css href=styl2.css />')
}
</script>


myslim, ze by to tak slo...
Vavroch
Profil
Děkuji za radu

A myslíš,že to bude fungovat ve všech prohlížečích,právě S JS,nemám moc dobré zkušenosti např při tvorbě vzhledu formulářů.
kubiseg
Profil
nebude fungovat pri vypnutem javascriptu... ale jak bych to zjistil jinak nevim... taky nejsem zrovna megaprofik...
Vavroch
Profil
Tak tedy nevím..uúravil jsem to takto,změnil si rozlišení i na monitoru na 1024x768 ale na druhý css to nepřepne,kde může být chyba?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="cz">

<!-- Verze: 1.0 -->
<!-- Datum poslední úpravy: 10.03.2008 -->

<!--Ošetření použití css stylu podle rozlišení monitoru-->
<script language="javascript">
var sirka = screen.width;

if (sirka < 1280)
{
document.write('<link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_setup_1024.css" />')
}
else
{
document.write('<link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_setup.css" />')
}
</script>
<!--Konec ošetření použití css stylu podle rozlišení monitoru-->
<link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_text.css" />
<!--Nastavení css pro fonty-->

<head>
Manq
Profil
Vavroch
S tím JavaScriptem ti neporadím, protože si myslím, že je to blbost. Téměř vždy jde stránka napsat tak, aby se nerozpadala při změně rozlišení. Radím ti tedy, abys nám objasnil svůj problém, kvůli kterému zápasíš s tímto JavaScriptem.
Vavroch
Profil
Omlouvám se,funguje to dobře,měl jsem o něco níže ve skriptu definovánu cestu k css,tak se to vždy přepisovalo,funguje to dobře..doufám,že to pomůže i jiným.

PS:Dá se takto pomocí JS rozlišovat na začátku headu stránky více věcí,podle kterých bych mohl uživatele třídit?
Manq
Profil
PS:Dá se takto pomocí JS rozlišovat na začátku headu stránky více věcí,podle kterých bych mohl uživatele třídit?
Pokud mou radu budeš ignorovat, tak ano, dá.
Railbot
Profil
Jo, je to pitomost. Když člověk umí nebo si nechá poradit, tak žádnou pdoobnou volovinu nepotřebuje.
Vavroch
Profil
Ona se stránka le nerozpadá,problém je v tom,že v headeru je fotka s nějakou šírkou..dejme tomu 1280px..no a v pravem sloupci,je form,ktery potrebuji,aby se lidem zobrazil na ocich vzdy,kdyz na stranku vejdou,tj,aby nemuseli scrollovat vodorovně..pomoci fixnich sloupcu to ale udelat nejde(nebo nevim o tom jak),jelikoz tu sirku definuje ta fotografie a ta se na rozdil od textu,ci obrazku 1px,na ose x zmensit neda,resp nechci delat dve verze tech fotek,jednu pro to a druhou pro jine rozliseni...
Lion
Profil
Ahoj všem.
S chutí jsem si přečetl tuto diskusi. Chtěl bych se tedy zeptat jak se lze vyhnout použití striptu při nutnosti změnit styl (tedy css) dle rozlišení. Upravoval jsem www.zednictvilukas.cz a použil jsem tam horizontální a vertikální vycentrování. Jenže při zobrazení na těch nových malých Eee Pc nebo na smartphones se nedostanu na menu, které je v pravé horni části. Protože se schová. Takže jaké by mohlo být podle vás řešení? Diky Radek
panther
Profil
Lion
jak se lze vyhnout použití striptu při nutnosti změnit styl (tedy css) dle rozlišení.
to bez JS samozřejmě nejde, výše bylo napsáno, že je zbytečné pro různá rozlišení posílat různé stylopisy.
Lion
Profil
A jak tedy by jsi to řešil? "různá rozlišení posílat různé stylopisy."
Jinak mohl by mě někdo pomoct s napsáním tohoto scriptu pro 3 různá rozlišení? Jde mě o větší než 800px (vše šířka) a pak pro mezi třeba 900 - 700 a menší než 700. Diky
panther
Profil
Lion
A jak tedy by jsi to řešil?
třeba procentuálně, za pomoci min/max-width.
crewer
Profil *
Pokud jde například o nastavení pozadí, které při užším rozlišení dělá bordel, pomůže CSS3, které je už ve všech nejrozšířenějších prohlížečích podporováno. I při nastavování jiných věcí se toto hodí, stejně se v těch css stylech liší převžně jen minimum věcí. A tak nepotřebujeme javascript, jen jednu media query, která mi v tomto případě zruší background image v body jen když je šířka prohlížeče v intervalu 0-1200px a to:

@media (max-width: 1200px) and (min-width: 0px){
    body {
        background-image: none;
    }
}



a další možností je dát podmínku rovnou do deklarace externího stylu a tím je vyřešen celý problém:
<link rel="stylesheet" href="mobile.css" media="screen and (max-width: 480px)">

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0