답변:
스타일 시트에서 다음을 추가하십시오.
@media print
{
.no-print, .no-print *
{
display: none !important;
}
}
그런 다음 class='no-print'
단추와 같이 인쇄 된 버전에 표시하지 않으려는 HTML에 인쇄 할 수없는 클래스를 HTML에 추가하십시오 (또는 기존 클래스 명령문에 추가하십시오).
@media print { .no-print, .no-print * { display: none !important; } }
<link rel="stylesheet" href="all.css" media="screen, print" type="text/css">
@media screen
화면 전용 스타일을 정의하려는 경우 에만 필요 하지만 여기에는 해당되지 않습니다. 기본적으로 모든 요소가 표시되며 요소를 숨기는 인쇄 전용 스타일을 정의하면 화면에 여전히 표시 될 수 있습니다. .
부트 스트랩 3가 그 자신 이에 대한 클래스 라는를 :
hidden-print
다음과 같이 정의됩니다.
@media print {
.hidden-print {
display: none !important;
}
}
직접 정의 할 필요는 없습니다.
에서 부트 스트랩 4 이이 변경되었습니다 :
.d-print-none
! important
저를 구했습니다.
가장 좋은 방법은 인쇄용으로 스타일 시트 를 사용 하고 media
속성을로 설정하는 것 print
입니다.
종이에 인쇄하려는 요소를 표시하거나 숨 깁니다.
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
이 CSS를 넣는 간단한 해결책은 다음과 같습니다.
@media print{
.noprint{
display:none;
}
}
그리고 여기 HTML이 있습니다
<div class="noprint">
element that need to be hidden when printing
</div>
<div class="noprint">
element that need to be hidden when printing
</div>
CSS 파일
@media print
{
#pager,
form,
.no-print
{
display: none !important;
height: 0;
}
.no-print, .no-print *{
display: none !important;
height: 0;
}
}
HTML 헤더
<link href="/theme/css/ui/ui.print.css?version=x.x.x" media="print" rel="stylesheet" type="text/css" >
요소
<div class="no-print"></div>
div 내에 링크를 놓은 다음 앵커 태그에서 JavaScript를 사용하여 div를 숨길 수 있습니다. 예 (테스트되지 않았으므로 조정해야하지만 아이디어를 얻음) :
<div id="printOption">
<a href="javascript:void();"
onclick="document.getElementById('printOption').style.visibility = 'hidden';
document.print();
return true;">
Print
</a>
</div>
단점은 한 번 클릭하면 버튼이 사라지고 페이지에서 해당 옵션이 손실된다는 것입니다 (항상 Ctrl + P가 있음).
더 나은 해결책은 인쇄 스타일 시트를 작성하고 해당 스타일 시트 내에서 printOption
ID 의 숨겨진 상태 (또는 사용자가 호출하는 것)를 지정하는 것입니다. HTML의 head 섹션에서이 작업을 수행하고 media 속성으로 두 번째 스타일 시트를 지정할 수 있습니다.
가장 좋은 방법은 페이지의 "인쇄 전용"버전을 만드는 것입니다.
아 잠깐만 .. 이건 더 이상 1999 년이 아니야 "display : none"과 함께 인쇄 CSS를 사용하십시오.
diodus가 받아 들인 대답은 우리 모두는 아니지만 일부에게는 효과가 없습니다. 여전히이 단추 인쇄가 용지로 사라지는 것을 숨길 수 없습니다.
Clint Pachl이 추가하여 CSS 파일을 호출하는 작은 조정
media="screen, print"
뿐만 아니라
media="screen"
이 문제를 해결하고 있습니다. 명확성을 위해 그리고 Clint Pachl은 주석에서 추가 도움을 숨기기가 쉽지 않기 때문에. 사용자는 원하는 형식으로 CSS 파일에 ", print"를 포함시켜야합니다.
<link rel="stylesheet" href="my_cssfile.css" media="screen, print"type="text/css">
기본 미디어가 아니라 "스크린"입니다.
<link rel="stylesheet" href="my_cssfile.css" media="screen" type="text/css">
모든 사람 이이 문제를 해결한다고 생각합니다.
당신은 자바 스크립트가있는 경우, 따라서 개별 요소의 스타일 속성을 방해은 오버 라이딩 !important
나는 이벤트를 처리, 제안 onbeforeprint
하고 onafterprint
. https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeprint
@media
인쇄 및@media
화면. 인쇄 섹션에서 인쇄 스타일을 배치합니다. 화면 화면 섹션에서 화면 인쇄 스타일을 배치합니다. 해상도에 따라 여러 화면 섹션을 가질 수도 있습니다. 기본적 으로이 답변에 주어진 것을 추가하면 작동하지 않습니다. 내가 시도한 것을 믿어 라. 그러면 어떻게 69 개의 공감대를 얻었습니까?