Mam link na mojej stronie, aby wydrukować stronę. Link jest jednak widoczny również w samym wydruku.
Czy istnieje kod JavaScript lub kod HTML, który ukryłby przycisk łącza po kliknięciu łącza drukowania?
Przykład:
"Good Evening"
Print (click Here To Print)
Chcę ukryć tę etykietę „Drukuj”, gdy drukuje tekst „Dobry wieczór”. Etykieta „Drukuj” nie powinna pojawiać się na samym wydruku.
@media
wydruk i@media
ekran. W sekcji drukowania umieścisz swoje style do drukowania. W sekcji ekranu umieścisz swoje style do sitodruku. Możesz nawet mieć wiele sekcji ekranu dla różnych rozdzielczości. Zasadniczo, jeśli dodasz tylko to, co podano w tej odpowiedzi, nie zadziała. Uwierz mi, że próbowałem. W jaki sposób uzyskało 69 głosów pozytywnych?@media print { .no-print, .no-print * { display: none !important; } }
<link rel="stylesheet" href="all.css" media="screen, print" type="text/css">
@media screen
jeśli chcesz zdefiniować style tylko na ekranie, ale tak nie jest w tym przypadku: Domyślnie wyświetlane są wszystkie elementy, a zdefiniowanie stylu tylko do wydruku, który ukrywa element, jest całkowicie wystarczające, aby nadal pojawiał się na ekranie .Bootstrap 3 ma swoją własną klasę na ten nazywa się:
Jest on zdefiniowany w następujący sposób:
Nie musisz go definiować samodzielnie.
W Bootstrap 4 zmieniło się to na:
źródło
! important
uratował mnieNajlepszą praktyką jest użycie arkusza stylów specjalnie do drukowania i ustawienie jego
media
atrybutu naprint
.W nim pokaż / ukryj elementy, które chcesz wydrukować na papierze.
źródło
Oto proste rozwiązanie umieść ten CSS
a tu jest HTML
źródło
PLIK CSS
HEADER HTML
ELEMENT
źródło
Możesz umieścić link w div, a następnie użyć JavaScript na tagu kotwicy, aby ukryć div po kliknięciu. Przykład (nie przetestowany, może wymagać modyfikacji, ale pojawia się pomysł):
Minusem jest to, że po kliknięciu przycisk znika i tracą tę opcję na stronie (zawsze jest jednak Ctrl + P).
Lepszym rozwiązaniem byłoby utworzenie arkusza stylów drukowania i w tym arkuszu stylów określić ukryty status
printOption
identyfikatora (lub jakkolwiek go nazwiesz). Możesz to zrobić w sekcji nagłówka HTML i określić drugi arkusz stylów z atrybutem media.źródło
Najlepszą rzeczą do zrobienia jest stworzenie wersji strony „tylko do wydruku”.
Och, czekaj ... to już nie jest 1999. Użyj wydruku CSS z „display: none”.
źródło
źródło
Przyjęta przez diodus odpowiedź nie działa dla niektórych, jeśli nie dla nas wszystkich. Nadal nie mogłem ukryć przycisku Drukuj ten przycisk przed wyjściem na papier.
Niewielkie dostosowanie przez Clint Pachl wywołania pliku css przez dodanie
i nie tylko
rozwiązuje ten problem. Więc dla jasności i ponieważ nie jest łatwo zobaczyć Clint Pachl ukrytą dodatkową pomoc w komentarzach. Użytkownik powinien dołączyć plik „, print” do pliku css z żądanym formatowaniem.
a nie domyślny media = „tylko ekran”.
Myślę, że to rozwiązuje ten problem dla wszystkich.
źródło
Jeśli masz Javascript, który koliduje z właściwością stylu poszczególnych elementów, w ten sposób przesłaniając
!important
, sugeruję obsługę zdarzeńonbeforeprint
ionafterprint
. https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeprintźródło