Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zaprogramować takie coś
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
Szymciosek
Witam,
chcę zaprogramować (to dobre słowo ?) w CSS box, który zawsze będzie miał zawsze:
width: 100% - 20px; (z lewej i prawej po 10px)
height: 100% - 160px; (z góry 10px odstępu od brzegu strony, 150px od dołu strony)



Szary obiekt
Arcioch
  1. <!DOCTYPE html>
  2. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  3. <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
  4. body,html{
  5. width: 100%:
  6. height: 100%;
  7. padding: 0;
  8. margin: 0;
  9. }
  10. body{
  11. background: blue;
  12. }
  13.  
  14. div#content{
  15. background: grey;
  16. float: left;
  17. margin: 10px 0px 0px 10px;
  18. }
  19. $(function(){
  20. var width = $(window).width() - 20;
  21. var height = $(window).height() - 160;
  22.  
  23. $('div#content').css({
  24. 'width': width,
  25. 'height': height
  26. });
  27. });
  28. </head>
  29. <div id="content">
  30. </div>
  31. </body>
  32. </html>


Jak dla mnie bez js się nie obejdzie wink.gif Pobieram szerokość i wysokość okna przeglądarki i odejmuje odpowiednią ilość pixeli wink.gif
Szymciosek
No niby działa, ale nie do końca, bo nie zmienia się width tego boxu, gdy zmieniam rozmiar okna przeglądarki. Ogólnie to powinno pracować w trybie każdej rozdzielczości biorąc też pod uwagę to, że potencjalny Kowalski będzie sobie zmieniał rozmiar okna właśnie...
fleshgrinder
szerokość da się bez js, po prostu nie ustawiasz szerokości elementu tylko same marginesy, domyślnie rozciągnie się on na (szerokość rodzica - wartość marginesów)

z wysokością niestety tak jak napisał Arcioch, bez js ciężko. mój strzał: http://jsfiddle.net/8XMVK/

jeśli to mógłby być padding zamiast marginesów, rozważ użycie border-box: http://paulirish.com/2012/box-sizing-border-box-ftw/
Szymciosek
Może być js, pod warunkiem, że będzie działało po zmianie rozmiaru okna przeglądarki jak napisałem wyżej.
Arcioch
  1. <!DOCTYPE html>
  2. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  3. <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script>
  4. body,html{
  5. width: 100%:
  6. height: 100%;
  7. padding: 0;
  8. margin: 0;
  9. }
  10. body{
  11. background: blue;
  12. }
  13.  
  14. div#content{
  15. background: grey;
  16. float: left;
  17. margin: 10px 0px 0px 10px;
  18. }
  19. $(function(){
  20.  
  21. function sprawdzRozmiarOkna() {
  22. var width = $(window).width() - 20;
  23. var height = $(window).height() - 160;
  24.  
  25. $('div#content').css({
  26. 'width': width,
  27. 'height': height
  28. });
  29. }
  30.  
  31. sprawdzRozmiarOkna();
  32. $(window).resize(sprawdzRozmiarOkna);
  33. });
  34. </head>
  35. <div id="content">
  36. </div>
  37. </body>
  38. </html>


Sprawdza rozmair okna i dostosowywuje wink.gif w tym dziale pisałem już coś takiego wystarczyło poszukać i dostosować wink.gif
zegarek84
Cytat(Arcioch @ 3.10.2012, 18:53:46 ) *
Jak dla mnie bez js się nie obejdzie wink.gif Pobieram szerokość i wysokość okna przeglądarki i odejmuje odpowiednią ilość pixeli wink.gif

Cytat(fleshgrinder @ 3.10.2012, 20:09:02 ) *
z wysokością niestety tak jak napisał Arcioch, bez js ciężko. ...

taaaaa... jasne...
jest na to kilka sposobów, ale jeśli to ma być box to podam najprostszy z pozycjonowaniem absolutnym...
  1. <!DOCTYPE html>
  2. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  3. body,html{
  4. width: 100%;
  5. height: 100%;
  6. padding: 0;
  7. margin: 0;
  8. position: relative;
  9. }
  10. body{
  11. background: blue;
  12. }
  13.  
  14. div#content{
  15. background: grey;
  16. padding: 0;
  17. margin: 0;
  18. position: absolute;
  19. top: 10px;
  20. bottom: 150px;
  21. left: 10px;
  22. right: 10px;
  23. }
  24. </head>
  25. <div id="content">
  26. </div>
  27. </body>
  28. </html>
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.