Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Czy mozna zrobić stronę dla dwóch róznych rozdzielczosci?
Forum PHP.pl > Forum > Przedszkole
LubieWino
Takie pytanie: czy można zrobić layout strony delikatnie inny dla rozdzielczosci 1024 (w szerokosci) niż dla szerokosci większych? Ale nie chodzi mi o skalowanie.
Z pewnych względów strona dobrze wygląda w szerokosci 1280 (i wiekszych) ale źle przy 1024 (cięzko to dobrze skalować), i myslalem, czy dałoby radę, aby przeglądarka wykrywała okno mniejsze niż 1024 i wczytywała wtedy np. mniejsze grafiki przycisków lub innych ?
Czy jednak nie da rady i trzeba zrobić od początku stronę skalowalną dynamicznie na wszystkie rozdziałki?



bpskiba
Cytat(LubieWino @ 28.04.2012, 03:33:32 ) *
Takie pytanie: czy można zrobić layout strony delikatnie inny dla rozdzielczosci 1024 (w szerokosci) niż dla szerokosci większych? Ale nie chodzi mi o skalowanie.
Z pewnych względów strona dobrze wygląda w szerokosci 1280 (i wiekszych) ale źle przy 1024 (cięzko to dobrze skalować), i myslalem, czy dałoby radę, aby przeglądarka wykrywała okno mniejsze niż 1024 i wczytywała wtedy np. mniejsze grafiki przycisków lub innych ?
Czy jednak nie da rady i trzeba zrobić od początku stronę skalowalną dynamicznie na wszystkie rozdziałki?


Można.
Należy do tego wykorzystać javascript

  1. document.write("screen.width+"x"+screen.height);

lobopol
Można to zrobić na kilka sposobów:
-używając media query do dołączania odpowiednich stylów -bez js działa w IE 9+, Firefox 3.6+, Safari 3+, Chrome, Opera 10+
  1. <link rel='stylesheet' media='screen and (min-width: 701px) and (max-width: 900px)' href='css/medium.css' />
  2. <link rel='stylesheet' media='screen and (max-width: 700px)' href='css/min.css' />

-stosując media query w samym css (działa jak w wyższym)
  1. @media screen and (min-width: 480px){
  2. div {
  3. color: #000;
  4. }
  5. }

aby to działało w i8- https://github.com/scottjehl/Respond
-bez media query z użyciem js tworzysz sobie styl css z cyklu:
  1. #big div {
  2. color: #fff;
  3.  
  4. }
  5. #small div {
  6. color: #000;
  7. }


i html w stylu :

  1. <!DOCTYPE html>
  2. <meta charset="utf-8" />
  3. <link href="test.css" rel="stylesheet"/>
  4. </head>
  5. <body id="big">
  6. <div>aaaa</div>
  7.  
  8. </body>
  9. </html>


i js (napiszę z jquery bo mi się nie chcę pisać pełnych funkcji)

[JAVASCRIPT] pobierz, plaintext
  1. function size(width) {
  2. width = parseInt(width);
  3. if (width <= 1024) {
  4. $("body").attr("id", "small");
  5. } else {
  6. $("body").attr("id", "big");
  7. }
  8. }
  9.  
  10. $(function() {
  11. size($(this).width());
  12. $(window).resize(function() {
  13. size($(this).width());
  14. });
  15. });
[JAVASCRIPT] pobierz, plaintext



lub zamiast podmieniania id w body możesz podmieniać sobie link do css tą funkcją.



To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.