eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › HR i CSS3
Ilość wypowiedzi w tym wątku: 19

  • 11. Data: 2012-02-07 23:31:30
    Temat: Re: HR i CSS3
    Od: Marek <p...@s...com>

    Dnia Tue, 07 Feb 2012 23:44:03 +0100, Artur Muszyński napisał(a):

    > W dniu 2012-02-07 19:37, Marek pisze:
    >> <head>
    >> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    >> <style type="text/css">
    >> body {
    >> margin: 0;
    >> padding: 0;
    >> }
    >> hr {
    >> margin-top: 50px;
    >> }
    >> </style>
    >> </head>
    >>
    >> <body>
    >> <div style="background-color:#F00">ten DIV jest odsunięty od następnego
    >> gdyż 'bąbelkował' górny margines HR</div>
    >
    > Też masz się czym stresować.
    >
    >> <div style="background-color:#009900">
    >
    > <div style="background-color:#009900;overflow:auto">
    >
    > U mnie (Fx) działa :-)
    >
    > artur
    >
    >> <hr>
    >> bla bla bla
    >> </div>
    >> </body>
    >> </html>

    Taaa.. sęk w tym, ze zastosowanie jest mocno ograniczone - powstają kolejne
    problemy. Oto przykład.

    <div style="background-color:#009900; overflow:auto; position:relative">
    <hr>
    bla bla bla
    <div style="background-color:#009999; position: absolute; bottom:-100px;
    left:0; width: 100px; height:30px">aaa</div>
    </div>

    W Divie z overflow:auto powstaną paski przewijania. Szkoda, że nie działa
    overflow:visible. To rozwiązałoby problem. Często, a nawet zazwyczaj
    stosuję pozycjonowanie absolutne wewnątrz. :-(


  • 12. Data: 2012-02-08 21:00:31
    Temat: Re: HR i CSS3
    Od: Artur Muszyński <a...@u...wytnijto.com.pl>

    W dniu 2012-02-08 00:31, Marek pisze:
    >
    > <div style="background-color:#009900; overflow:auto; position:relative">
    > <hr>
    > bla bla bla
    > <div style="background-color:#009999; position: absolute; bottom:-100px;
    > left:0; width: 100px; height:30px">aaa</div>
    > </div>
    >
    > W Divie z overflow:auto powstaną paski przewijania. Szkoda, że nie działa
    > overflow:visible. To rozwiązałoby problem. Często, a nawet zazwyczaj
    > stosuję pozycjonowanie absolutne wewnątrz. :-(

    Nie wymyślaj problemów. Pisałeś, że wewnątrz diva jest kontent
    użytkownika, a teraz wyjeżdżasz z absolute.

    artur



  • 13. Data: 2012-02-08 21:21:03
    Temat: Re: HR i CSS3
    Od: Marek <p...@s...com>

    Dnia Wed, 08 Feb 2012 22:00:31 +0100, Artur Muszyński napisał(a):

    > Nie wymyślaj problemów. Pisałeś, że wewnątrz diva jest kontent
    > użytkownika, a teraz wyjeżdżasz z absolute.

    1. Chyba nie wczytałeś się w moją konwersację z NotBear. Napisałem w niej,
    że podawanie jakiegokolwiek przykładu mija się z celem gdyż kombinacji
    wystąpienia HR w kodzie może być nieskończenie wiele a ja szukam
    rozwiązania uniwersalnego, które moim zdaniem mogło by istnieć gdyby nie
    collapsing margins. NotBear uparł się abym wymyślił mimo wszystko
    jakikolwiek przykład przykład więc wymyśliłem.

    2. Co do mojego "wyjechania" teraz to po pierwsze uważam, że przytaczanie
    ogromnej ilości kodu HTML i CSS rzeczywistej strony zniechęciłoby do
    analizowania. Więc okroiłem zagadnienie do minimum. Po drugie absoluty
    stosuję nagminnie więc jest to autentyczny przypadek. Po trzecie
    zaproponowałeś overflow a ja skomentowałem, że to zły pomysł uzasadniając
    tym, że nie powinno ograniczać się funkcjonalności elementu overflow'em
    tylko po to aby HR w nim "działał" gdyż odcina się w ten sposób drogę do
    rozwoju projektu.


  • 14. Data: 2012-02-10 00:03:13
    Temat: Re: HR i CSS3
    Od: NotBear <p...@i...pl>

    W dniu 2012-02-07 19:37, Marek pisze:
    >> HR nature ma blokowa, wiec dlaczego go nie wlaczyc do grona "itepow"?
    > Dlatego ponieważ HR służy do rozdzielania graficznego elementów treści.

    Pytalem o nature elementu, nie jego zastosowanie.

    Swoją drogą, piszesz "rozdzielanie", a w przykladzie nizej stawiasz HR
    na poczatku bloku. Jaki to ma sens?


    > Co mi z elementu, w którym nie da się ustawić obu odległości (od góry i od
    > dołu)?

    Ależ da się. Margin top/bottom działa.


    > Collapsing przenika przez elementy po to aby wypłynąć w "przypadkowym"
    > miejscu layoutu. Nagle ni z gruszki ni z pietruszki dostajesz odstęp miedzy
    > elementami, które nigdy go wcześniej nie miały zanim ktoś gdzieś dalej w
    > kodzie zastosował HR. Powtórzę ten przypadek poniżej.

    Nieprzypadkowym. Sa zasady, ktore to okreslaja.

    Ale wrocmy do pierwotnego problemu. Moim zdaniem zamiast tworzyc wyjatki
    dla roznistych elementow, wystarczy "zatamowac" raz a dobrze collapsing
    tam gdzie jest zbedny.


    > Ok, oto obiecany wcześniej przypadek (w uproszczeniu). W praktyce ten HR
    > może wystąpić w różnych miejscach layoutu. Sam layout zawiera więcej
    > podobnych sekcji. Mało tego - mogą powstać nowe i w założeniu HR w nich nie
    > ma dokonywać destrukcji. Jak tego dokonać inaczej niż Cezary radził? Nie
    > wiem.

    Zaleznie od mozliwosci i zamierzen (dlatego prosilem o pokazanie tej
    problematycznej strony, bo kazda metoda ma jakies uwarunkowania) mozna
    zastosowac na rodzicu:
    - border
    - padding
    - wspominane juz kombinacje border lub padding z ujemnym marginesem
    - display:inline-block
    - float:left/right
    - overflow:hidden/auto

    - #rodzic:before{content: "."; display:block; visibility:hidden;
    height:0;} (inspirowane clearfixem)


    > Pewnie zaproponujesz rozwiązanie aby w drugim DIVie ustawić
    > padding górny na 1 px i przesunąc DIVa o 1px po to aby zniwelować ten
    > niepotrzebny padding. Zapomnijmy o takim rozwiązaniu - jest chore. Powstaną
    > tylko kolejne problemy.

    Konkretnie jakie?

    --
    NotBear


  • 15. Data: 2012-02-10 00:06:39
    Temat: Re: HR i CSS3
    Od: NotBear <p...@i...pl>

    W dniu 2012-02-08 00:31, Marek pisze:
    > <div style="background-color:#009900; overflow:auto; position:relative">
    [...]
    > W Divie z overflow:auto powstaną paski przewijania.

    Nie powstana, bo nie ma okreslonego rozmiaru. I w tym wypadku takie
    rozwiazanie spelni Twoje wymagania.


    --
    NotBear


  • 16. Data: 2012-02-10 09:26:58
    Temat: Re: HR i CSS3
    Od: Marek <p...@s...com>

    Dnia Fri, 10 Feb 2012 01:06:39 +0100, NotBear napisał(a):

    > W dniu 2012-02-08 00:31, Marek pisze:
    >> <div style="background-color:#009900; overflow:auto; position:relative">
    > [...]
    >> W Divie z overflow:auto powstaną paski przewijania.
    >
    > Nie powstana, bo nie ma okreslonego rozmiaru. I w tym wypadku takie
    > rozwiazanie spelni Twoje wymagania.

    Kurcze, masz rację! Coś mi się chyba ubzdurało, że IE dorysowywał pusty
    pionowy pasek przewijania bez elementów kontrolnych mimo iż tekst mieścił
    się w całości. To rozwiązuje mój problem. Dzięki :-)


  • 17. Data: 2012-02-10 09:56:50
    Temat: Re: HR i CSS3
    Od: Marek <p...@s...com>

    Dnia Fri, 10 Feb 2012 01:03:13 +0100, NotBear napisał(a):

    > Pytalem o nature elementu, nie jego zastosowanie.
    >
    > Swoją drogą, piszesz "rozdzielanie", a w przykladzie nizej stawiasz HR
    > na poczatku bloku. Jaki to ma sens?

    Ma to zastosowanie gdy np. ten blok zawiera serię przylegających do siebie
    przycisków. Chciałbym aby nad nimi był HR i wyglądał tak samo jak w każdej
    innej sekcji.

    Blok powyżej tego bloku z przyciskami zawiera inną treść. No i powstawał
    niepożądany odstęp pomiedzy blokami wskutek collapsingu a raczej nazwałbym
    to zjawisko "bąbelkowaniem" a nie "zapadaniem" się marginesów gdyż margines
    nie znika lecz przenosi się w górę kodu do innych elementów.

    >
    >> Co mi z elementu, w którym nie da się ustawić obu odległości (od góry i od
    >> dołu)?
    >
    > Ależ da się. Margin top/bottom działa.

    Tyle tylko, że margin top znika przy HR a pojawia się ponad DIVem. Wiec w
    tym konkretnym przypadku nie działa a nawet więcej: psuje layout w innym
    miejscu strony WWW. Dlatego napisałem, że nie działa.

    >> Collapsing przenika przez elementy po to aby wypłynąć w "przypadkowym"
    >> miejscu layoutu. Nagle ni z gruszki ni z pietruszki dostajesz odstęp miedzy
    >> elementami, które nigdy go wcześniej nie miały zanim ktoś gdzieś dalej w
    >> kodzie zastosował HR. Powtórzę ten przypadek poniżej.
    >
    > Nieprzypadkowym. Sa zasady, ktore to okreslaja.

    I o nich mówię, krytycznie zresztą. Ale to tylko dygresja.

    > Ale wrocmy do pierwotnego problemu. Moim zdaniem zamiast tworzyc wyjatki
    > dla roznistych elementow, wystarczy "zatamowac" raz a dobrze collapsing
    > tam gdzie jest zbedny.

    Tak, ideologicznie masz rację. Jednakże ja nie potrafię tego dokonać.
    Rozważmy konkretny przypadek jaki zaprezentowałem. Bez overflow:hidden
    layout strony będzie się rozpadał. Jak w takich warunkach można zapanować
    nad collapsingiem?

    Problem dla mnie jest istotny gdyż nierzadko stosuję HR zaraz po DIV z
    powyższego powodu. Po drugie nie mogę wykluczyć sytuacji, w której w CMS
    redaktor treści strony nie uczyni tego samego. Dlatego muszę "zabezpieczyć"
    się jakoś przed destrukcją layoutu wskutek użycia HR.

    > Zaleznie od mozliwosci i zamierzen (dlatego prosilem o pokazanie tej
    > problematycznej strony, bo kazda metoda ma jakies uwarunkowania) mozna
    > zastosowac na rodzicu:
    > - border

    Ale wtedy powstaje linia przerwy w layoucie i aby się jej pozbyć to na
    poziomie potomka należy podsuwać o 1 px do góry. Pisałem o tym wcześniej.
    Owszem, można tego dokonać jednakże trzeba te "łatki" stosować na parach
    elementów rodzic/potomek w wielu miejscach kodu gdzie HR może potencjalnie
    wystąpić a to czasem jest trudne do przewidzenia. Dlatego rozwiązanie z
    overflow: auto wydaje mi się bezpieczniejszym (mniejsze ryzyko
    niedopatrzenia).

    > - padding
    > - wspominane juz kombinacje border lub padding z ujemnym marginesem

    Temat j/w. Ingerencja potrzebna jest wtedy w identyczny sposób.

    > - display:inline-block

    A to może faktycznie być użyteczne czasem.

    >
    > - #rodzic:before{content: "."; display:block; visibility:hidden;
    > height:0;} (inspirowane clearfixem)

    A to jest super. Rozumiem, że content nie musi kropki zawierać?

    >> Pewnie zaproponujesz rozwiązanie aby w drugim DIVie ustawić
    >> padding górny na 1 px i przesunąc DIVa o 1px po to aby zniwelować ten
    >> niepotrzebny padding. Zapomnijmy o takim rozwiązaniu - jest chore. Powstaną
    >> tylko kolejne problemy.
    >
    > Konkretnie jakie?

    Opisałem powyżej w komentarzu do "border". Idealnym rozwiązaniem byłoby
    ostylowanie HR, ale jeśli się nie da, to mogę to zrobić na poziomie
    rodzica.


  • 18. Data: 2012-02-10 20:18:54
    Temat: Re: HR i CSS3
    Od: Paweł Piskorz <n...@p...nie?>

    W dniu 2012-02-10 10:56, Marek pisze:
    > Dnia Fri, 10 Feb 2012 01:03:13 +0100, NotBear napisał(a):
    >
    >> - #rodzic:before{content: "."; display:block; visibility:hidden;
    >> height:0;} (inspirowane clearfixem)
    >
    > A to jest super. Rozumiem, że content nie musi kropki zawierać?

    Nie musi, wystarczy samo content:"";


    --
    message[autor="PablO"]::after {
    content:"Pozdrawiam";
    }


  • 19. Data: 2012-02-10 20:44:56
    Temat: Re: HR i CSS3
    Od: Cezary Tomczyk <c...@g...pl>

    W dniu 2012-02-10 21:18, Paweł Piskorz pisze:
    > W dniu 2012-02-10 10:56, Marek pisze:
    >> Dnia Fri, 10 Feb 2012 01:03:13 +0100, NotBear napisał(a):
    >>
    >>> - #rodzic:before{content: "."; display:block; visibility:hidden;
    >>> height:0;} (inspirowane clearfixem)
    >>
    >> A to jest super. Rozumiem, że content nie musi kropki zawierać?
    >
    > Nie musi, wystarczy samo content:"";

    Ja tam daję spację lub kropkę. Więcej tutaj:

    http://perishablepress.com/press/2008/02/05/lessons-
    learned-concerning-the-clearfix-css-hack/

    --
    Cezary Tomczyk
    http://www.ctomczyk.pl/

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: