eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › CSS - jak ustawić wysokość body na 100% ?
Ilość wypowiedzi w tym wątku: 19

  • 1. Data: 2010-07-25 22:11:22
    Temat: CSS - jak ustawić wysokość body na 100% ?
    Od: Marek <b...@e...com>

    Witam,

    Nie mogę odszukać wątku, w którym o tym było. Zapamiętałem z niego pewnie
    szczątkowe informacje. Może ktoś z Was mnie naprowadzi.

    Otóż zrobiłem w JS galerię, w której kliknięcie na obrazku powoduje, że
    absolutny DIV o W i H = 100% wyszarza to co jest pod nim a w nim rysuje się
    powiększona wersja klikniętego obrazka. Problem w tym, że jeśli strona jest
    krótka (niższa niż okno przeglądarki), to DIV wyszarza kawałek okna
    przeglądarki - tam gdzie sięga <body>. Sugerowano w tamtym wątku
    zastosować:

    html, body {position: relative; min-height:100%; ...}

    Okazuje się, że to nic nie daje. Body nadal kończy się w połowie strony. O
    czym zapomniałem?


  • 2. Data: 2010-07-25 22:16:51
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: porneL <n...@p...net>

    On Sun, 25 Jul 2010 23:11:22 +0100, Marek <b...@e...com> wrote:

    > Nie mogę odszukać wątku, w którym o tym było. Zapamiętałem z niego pewnie
    > szczątkowe informacje. Może ktoś z Was mnie naprowadzi.

    Generalnie rzecz biorąc nie możesz bez spowodowania setki efektów
    ubocznych i niekompatybilności, które będą cię potem prześladowały.

    Polecam ustawić stały min-height dla treści (nie będzie równo z dołem
    ekranu, ale wystarczy, żeby strona nie wyglądała głupio na podstronach z
    małą ilością tekstu).

    --
    http://pornel.net
    this.author = new Geek("porneL");


  • 3. Data: 2010-07-26 12:17:23
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: Marek <b...@e...com>

    Dnia Sun, 25 Jul 2010 23:16:51 +0100, porneL napisał(a):

    > Generalnie rzecz biorąc nie możesz bez spowodowania setki efektów
    > ubocznych i niekompatybilności, które będą cię potem prześladowały.

    Hmmm, może miałem zwidy. Wydawało mi się, że udało się to rozwiązać
    zręcznie. W tym celu trzeba było zastosować position:relative dla <body> i
    dla <html> i coś jeszcze w CSS zrobić.

    Nie analizowałem jak to inni robią. Czasem widuje się strony z jakimiś
    wkurzającymi animacjami dużego zdjęcia gdy małe się kliknie. Zazwyczaj tło
    całej strony wtedy jest przyciemniane a fotka pojawia się nad tym
    przyciemnieniem. Zakładam, że to jakiś DIV o W=H=100% wymiarów okna. Czy
    rozciągnięcie DIV'a odbywa się jakimiś sztuczkami w JS a nie za pomocą CSS?
    Przypatrywałeś się kiedyś temu?

    > Polecam ustawić stały min-height dla treści (nie będzie równo z dołem
    > ekranu, ale wystarczy, żeby strona nie wyglądała głupio na podstronach z
    > małą ilością tekstu).

    Masz na myśli blok, który nie ma position:relative czyli dedykowany jest
    treści? Pytam bo na body min-height nie robi żadnego wrażenia.


  • 4. Data: 2010-07-26 12:35:21
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: Marek <b...@e...com>

    W miedzyczasie metodą prób i błędów (coś w stylu "zapukaj 5x w rynnę a może
    to coś pomoże") znalazłem rozwiązanie.

    html {position: relative; height:100%; ...}
    body {position: relative; min-height: 100%; ... }

    Przy <html> musi być height a nie min-height. Co sądzisz o tym? Czy w
    przypadku stron krótszych i dłuższych niż wielkość okna to powinno działać?


  • 5. Data: 2010-07-26 13:17:49
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: sim_co <s...@g...pl>

    Marek pisze:
    > W miedzyczasie metodą prób i błędów (coś w stylu "zapukaj 5x w rynnę a może
    > to coś pomoże") znalazłem rozwiązanie.
    >
    > html {position: relative; height:100%; ...}
    > body {position: relative; min-height: 100%; ... }
    >
    > Przy <html> musi być height a nie min-height. Co sądzisz o tym? Czy w
    > przypadku stron krótszych i dłuższych niż wielkość okna to powinno działać?

    Uwierz na słowo, że bawienie się ze 100% wysokości minimalną jest dość
    irytujące. Ja parę lat temu to zarzuciłem i po prostu ustawiam
    min-height dla kontenera z 'treścią' strony.

    Na to co chcesz uzyskać jest następujący sposób:

    html,body,#glowny_kontener {
    position:relative;
    height:auto !important;
    min-height: 100%;
    height:100%;
    }

    Możesz to rozbić na 2 arkusze styli - w głównym dajesz min-height, a dla
    ie6, ie7 dajesz height - ie8 z tego co wiem poprawnie interpretuje
    min-height.

    Irytacja zaczyna się w momencie kiedy stopkę masz zpozycjonowaną
    absolutnie na dole głównego kontenera. Wiem, że pod IE6 i IE7 były
    czasem takie jaja, że stopka, mimo że miała
    {position:absolute;bottom:0;}, to 'zatrzymywała się' gdzieś po środku.
    Nie znalazłem rozwiązania tego. Można pewnie js-em po załadowaniu strony
    jeszcze raz dać mu bottom:0 ...

    W każdym razie już dawno nie spotkałem się z taką konstrukcją, a w sumie
    zawodowo się tym zajmuje.




  • 6. Data: 2010-07-26 16:16:43
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: Marek <b...@e...com>

    Dnia Mon, 26 Jul 2010 15:17:49 +0200, sim_co napisał(a):

    Hej,

    > Uwierz na słowo, że bawienie się ze 100% wysokości minimalną jest dość
    > irytujące. Ja parę lat temu to zarzuciłem i po prostu ustawiam
    > min-height dla kontenera z 'treścią' strony.

    Może nieco myśl rozwinąć? Coś źle interpretuję bo widzę w w/w sprzeczność.
    Z jednej strony piszesz, że zarzuciłeś bawienie się ze 100% wysokością a
    potem piszesz, że min-height ustawiasz dla kontenera - czyli w domyśle 100%
    wysokość. Więc jednak nie zarzuciłeś :-)

    > Na to co chcesz uzyskać jest następujący sposób:
    >
    > html,body,#glowny_kontener {
    > position:relative;
    > height:auto !important;
    > min-height: 100%;
    > height:100%;
    > }

    Ten "mój" sposób funkcjonuje choć nie wiem czy nie jest absurdalny. Z
    jednej strony definiuję (i Ty również), że height:100% dla <html> co
    narzuca wysokość okna elementowi (a nie wysokość dokumentu, który może być
    w końcu wyższy niż 100% okna przeglądarki) a z drugiej pozwalam na
    rozciąganie <body> poprzez min-height:100%, co nie powinno pozwolić i tak
    rozciągnąć go poza ograniczony do 100% obszar <html>. Prawda? Tworzy się
    absurd ... ale działa.

    A co to za konstrukcja używająca 2x height? Jaki ma cel łączenie height i
    min-height? Czy mimo, że height jest ustawione na 100% to min-height
    pozwala aby height mogło być wyższe niż zadeklarowane?

    > Możesz to rozbić na 2 arkusze styli - w głównym dajesz min-height, a dla
    > ie6, ie7 dajesz height - ie8 z tego co wiem poprawnie interpretuje
    > min-height.

    Tak, poprawnie.

    > Irytacja zaczyna się w momencie kiedy stopkę masz zpozycjonowaną
    > absolutnie na dole głównego kontenera. Wiem, że pod IE6 i IE7 były
    > czasem takie jaja, że stopka, mimo że miała
    > {position:absolute;bottom:0;}, to 'zatrzymywała się' gdzieś po środku.
    > Nie znalazłem rozwiązania tego. Można pewnie js-em po załadowaniu strony
    > jeszcze raz dać mu bottom:0 ...

    W projekcie o jakim wspominam nie stosuję stopki więc mam większą swobodę w
    doborze atrybutów CSS. Zależy mi tylko aby móc absolutnie spozycjonowany
    DIV rozciągnąć na 100% powierzchni dokumentu jaśli jest wyższy od okna lub
    100% powierzchni okna, jeśli dokument jest niższy. Ten DIV ma za zadanie
    przyciemnić treść pod nim. Nie może wystąpić żaden margines pomiędzy dołem
    dokumentu a dolną krawędzią okna przeglądarki (dla krótszych dokumentów).

    Wyjaśniłem powtórnie aby być dobrze zrozumianym.

    > W każdym razie już dawno nie spotkałem się z taką konstrukcją, a w sumie
    > zawodowo się tym zajmuje.

    To jak rozwiązałbyś w/w? Zaproponowana przez Ciebie konstrukacja jest
    bardzo podobna do tego co i ja uczyniłem:

    Twoje:
    html,body,#glowny_kontener {
    position:relative;
    height:auto !important;
    min-height: 100%;
    height:100%;
    }

    Moje:
    html {
    position:relative;
    height:100%;
    }
    body {
    position:relative;
    min-height: 100%;
    }

    #glowny_kontener - nie musi być ostylowany w wysokości i pozycjonowanie.
    Samo <html> i <body> załatwia sprawę. Tak wynika z paru prób jakie
    dokonałem przed momentem.


  • 7. Data: 2010-07-26 19:45:02
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: porneL <n...@p...net>

    On Mon, 26 Jul 2010 13:35:21 +0100, Marek <b...@e...com> wrote:

    > W miedzyczasie metodą prób i błędów (coś w stylu "zapukaj 5x w rynnę a
    > może
    > to coś pomoże") znalazłem rozwiązanie.
    >
    > html {position: relative; height:100%; ...}
    > body {position: relative; min-height: 100%; ... }
    >
    > Przy <html> musi być height a nie min-height. Co sądzisz o tym? Czy w
    > przypadku stron krótszych i dłuższych niż wielkość okna to powinno
    > działać?

    To nie powinno działać:

    > If the height of the containing block is not specified explicitly (i.e.,
    > it depends on content height),***and this element is not absolutely
    > positioned***, the percentage value is treated as '0' (for 'min-height')
    > or 'none' (for 'max-height').

    http://www.w3.org/TR/CSS2/visudet.html#min-max-heigh
    ts

    --
    http://pornel.net
    this.author = new Geek("porneL");


  • 8. Data: 2010-07-26 20:14:44
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: Marek <b...@e...com>

    Dnia Mon, 26 Jul 2010 20:45:02 +0100, porneL napisał(a):

    > On Mon, 26 Jul 2010 13:35:21 +0100, Marek <b...@e...com> wrote:
    >
    >> W miedzyczasie metodą prób i błędów (coś w stylu "zapukaj 5x w rynnę a
    >> może
    >> to coś pomoże") znalazłem rozwiązanie.
    >>
    >> html {position: relative; height:100%; ...}
    >> body {position: relative; min-height: 100%; ... }
    >>
    >> Przy <html> musi być height a nie min-height. Co sądzisz o tym? Czy w
    >> przypadku stron krótszych i dłuższych niż wielkość okna to powinno
    >> działać?
    >
    > To nie powinno działać:
    >
    >> If the height of the containing block is not specified explicitly (i.e.,
    >> it depends on content height),***and this element is not absolutely
    >> positioned***, the percentage value is treated as '0' (for 'min-height')
    >> or 'none' (for 'max-height').
    >
    > http://www.w3.org/TR/CSS2/visudet.html#min-max-heigh
    ts

    Pech. Faktycznie. Więc "działanie" to skutek ułomnosci przeglądarek. Swoją
    drogą to bardzo dziwny problem, że nie przewidziano możliwości "legalnego"
    narysowania DIV'a o W=H=100% wielkości okna przeglądarki.


  • 9. Data: 2010-07-26 22:07:31
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: porneL <n...@p...net>

    On Mon, 26 Jul 2010 21:14:44 +0100, Marek <b...@e...com> wrote:

    >> To nie powinno działać:
    >>
    >>> If the height of the containing block is not specified explicitly
    >>> (i.e., it depends on content height),***and this element is not
    >>> absolutely
    >>> positioned***, the percentage value is treated as '0' (for
    >>> 'min-height') or 'none' (for 'max-height').
    >>
    >> http://www.w3.org/TR/CSS2/visudet.html#min-max-heigh
    ts
    >
    > Pech. Faktycznie. Więc "działanie" to skutek ułomnosci przeglądarek.
    > Swoją drogą to bardzo dziwny problem, że nie przewidziano możliwości
    > "legalnego" narysowania DIV'a o W=H=100% wielkości okna przeglądarki.

    Gdzie jest okno przeglądarki na drukowanej stronie? Na przeglądarkach
    mobilnych? (np. większość lightboxów jest absolutnie bezużyteczna na
    iPhone, bo zakładają, że cała powierzchnia strony jest widoczna na raz i
    uparcie "centrują" się poza ekranem).

    --
    http://pornel.net
    this.author = new Geek("porneL");


  • 10. Data: 2010-07-27 09:15:32
    Temat: Re: CSS - jak ustawić wysokość body na 100% ?
    Od: Marek <b...@e...com>

    Dnia Mon, 26 Jul 2010 23:07:31 +0100, porneL napisał(a):

    > On Mon, 26 Jul 2010 21:14:44 +0100, Marek <b...@e...com> wrote:

    > Gdzie jest okno przeglądarki na drukowanej stronie?

    Hmmm ... to dość proste do zdefiniowania: poprostu na całej zadrukowanej
    powierzchni. Na nośnikach o nieskończonych wymiarach "okna" można przecież
    przyjąć, że granicę wyznaczają wymiary dokumentu.

    A tak na marginesie i tak już realizuje się tą ideę. Ustaw sobie <html> i
    <body> na 100% wysokości, dla <body> ustaw tło i wydrukuj wraz z tłem
    dokument. Zobacz co się stanie. Działa to intuicyjnie. Dzlaczego więc <div>
    wewnątrz <body> ma być dyskryminowany? Nie może działać tak samo? Zgodzisz
    się ze mną?

    > Na przeglądarkach
    > mobilnych? (np. większość lightboxów jest absolutnie bezużyteczna na
    > iPhone, bo zakładają, że cała powierzchnia strony jest widoczna na raz i
    > uparcie "centrują" się poza ekranem).

    To akurat problem programistów. Pozycjonowanie dla tego typu galerii
    wykonuję w JS, który bada najpierw wymiary okna. Tymczasem banalne tło,
    które ma pokryć treść lub całe okno przeglądarki - w zależności od tego co
    jest wyższe, to chyba nie jest nic tak niedorzecznego aby nie uwzględniać w
    CSS z poszanowaniem założeń j/w dla nośników nieskończonych.

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: