Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Modal bootstrap drukowany na każdej stronie - błąd
markonix
post 22.06.2016, 17:38:10
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Mam problem, chciałem sobie drukować popupy ale ciągle mi się drukowały 2 razy.
Cofając się zauważyłem, że ten problem leży już gdzieś u podstaw tj. nawet bez żadnych moich cssów dla print modal drukuje się na każdej stronie.

Przykładowo w tych templatkach:
http://www.deemble.com/deeadmin/v1_2_0/modals.html
https://agileui.com/demo/monarch/demo/admin...ate/modals.html
Otwierając modal i dając CTR + P widać już w podglądzie (Chrome), że modal nachodzi na treść na każdej stronie.

Co ciekawe gdy jednak ustawię w przeglądarce emulacje print to wszystko ładnie działa.

Jakieś sugestie jak się pozbyć tego modala?
Myślałem, że modal się po prostu jakoś dubluje i próbowałem first:child ale to nie jest problem z dwoma divami.

Ten post edytował markonix 22.06.2016, 17:38:38


--------------------
Go to the top of the page
+Quote Post
Comandeer
post 22.06.2016, 18:58:46
Post #2





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Strzelam, że do druku należy zamienić position: fixed na position: absolute. W druku position: fixed jest uznawany za element znajdujący się na każdej stronie.


--------------------
Go to the top of the page
+Quote Post
markonix
post 23.06.2016, 01:13:55
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Zgadza się, jest to bezpośrednia przyczyna.

Niestety ciągle mam problem bo teraz ok, zamiast dwóch mam jeden ale drugą stronę ciągle mi drukuje (jest teraz tylko pusta).
Mój css:

  1. @media print {
  2.  
  3. /* on modal open bootstrap adds class "modal-open" to body, so you can handle that case and hide body */
  4. body.modal-open {
  5. visibility: hidden;
  6. }
  7.  
  8. body.modal-open .modal {
  9. position: absolute;
  10. visibility: visible;
  11. }
  12.  
  13. body.modal-open .modal .modal-footer {
  14. visibility: hidden;
  15. }
  16. }


Po prostu drukuje tyle stron pustych ile byłoby stron gdybym nie ukrył wszystkiego poza modalem (czyli jak zrobię 2 większą tabele pod modalem to będzie modal i 3 puste strony).

Próbowałem np. tego rozwiązania:
http://stackoverflow.com/a/22320644/2177401
i nic, ciągle widzi stronę jaka była przed ukryciem.

Z FF w ogóle modal troszkę się rozjechał ale to sobie poradzę.
Natomiast w IE/Edge wygląda tak jak powinno, ładnie wyśrodkowany i tylko jedna strona, kto by pomyślał.

Ten post edytował markonix 23.06.2016, 01:43:54


--------------------
Go to the top of the page
+Quote Post
Comandeer
post 23.06.2016, 12:55:12
Post #4





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


A nadanie overflow: hidden dla html, body? Bo visibility zachowuje rozmiary ukrytego elementu.


--------------------
Go to the top of the page
+Quote Post
markonix
post 23.06.2016, 21:03:59
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Tak, to właśnie robi. Pod modalem mam dynamiczną tabelę z ustawieniem liczby na stronę więc mogę łatwo zwiększać jej rozmiar.
I niestety.

  1. html, body {
  2. overflow: hidden !important;
  3. }


Nic nie daje. Jak zrobię długą tabelę to mam 1 stronę z modalem i 9 pustych.
Nie rozumiem czemu nie to nie reaguje na zadanie wysokości dla body :/


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 13:28