gpt4 book ai didi

html - 如何调整 css 打印并为 window.print 中的每个选项卡应用分页符?

转载 作者:行者123 更新时间:2023-12-04 11:38:53 25 4
gpt4 key购买 nike

我有一个充满表格的标签,我想打印所有表格信息。我已经准备好了选项卡形式的下载按钮。它运行良好,但我想调整打印的 CSS。我想让它更漂亮,但我不知道如何在 CSS 部分。我想实现一页的 1 个选项卡的输出。它有可能做到吗?
每个菜单/选项卡都有不同的页面。
如果我想实现这一点,我该如何调整 CSS 并给它一些填充?

$("#downloadPdf").click(function() {
window.print();
});
@media print {
.nav-tabs {
display: none !important;
}
.tab-content>.tab-pane {
display: block !important;
}
.tab-content>.fade {
opacity: 1;
}
#downloadPdf {
display: none;
}
}
<!DOCTYPE html>
<html lang="en">

<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
</head>

<body>

<div class="container">
<h2>Dynamic Tabs</h2>
<ul class="nav nav-tabs" id="tabs">
<li class="active"><a data-toggle="tab" href="#homepage">Terms & Condition</a></li>
<li><a data-toggle="tab" href="#home">Info</a></li>
<li><a data-toggle="tab" href="#info">Form</a></li>
<li><a data-toggle="tab" href="#form">Menu 3</a></li>
</ul>

<div class="tab-content">
<div id="homepage" class="tab-pane fade in active">
<h3>Terms and Conditions</h3>
<span style="font-size: 80%;"><i>Please read the terms and condition first</i></span>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<p><input type="checkbox" id="reg"> Please tick this if u have read and understand everything </p>
</div>
<div id="home" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<div id="info" class="tab-pane fade">
<h3>Menu 2</h3>
<div class="form-row">
<div class="col-md-12">
<input type="text" class="form-control" placeholder="City">
</div>
<div class="col-md-6">
<input type="text" class="form-control" placeholder="State">
</div>
<div class="col-md-6">
<input type="text" class="form-control" placeholder="Zip">
</div>
</div>
</div>
<div id="form" class="tab-pane fade">
<h3>Menu 3</h3>
<p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<br>
</div>
</div>
</div>
<hr>
<div>
<p><button type="button" id="downloadPdf" class="btn btn-warning" data-toggle="tooltip" data-placement="top" title="Download">Download</button></p>
</div>
</body>

</html>

最佳答案

对于解决方案,您需要 css 属性 page-break-before: always;并将其设置为 2、3、4 选项卡。
CSS

@media print {
.nav-tabs {
display: none !important;
}
.tab-content > .tab-pane {
display: block !important;
}
.tab-content > .fade {
opacity: 1;
}
#downloadPdf {
display: none;
}
/* New lines */
#home,
#info,
#form {
page-break-before: always;
}
}

$('#downloadPdf').click(function () {
window.print();
});
@media print {
.nav-tabs {
display: none !important;
}
.tab-content>.tab-pane {
display: block !important;
}
.tab-content>.fade {
opacity: 1;
}
#downloadPdf {
display: none;
}
/* New lines */
#home,
#info,
#form {
page-break-before: always;
}
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>

<div class="container">
<h2>Dynamic Tabs</h2>
<ul class="nav nav-tabs" id="tabs">
<li class="active">
<a data-toggle="tab" href="#homepage">Terms & Condition</a>
</li>
<li><a data-toggle="tab" href="#home">Info</a></li>
<li><a data-toggle="tab" href="#info">Form</a></li>
<li><a data-toggle="tab" href="#form">Menu 3</a></li>
</ul>

<div class="tab-content">
<div id="homepage" class="tab-pane fade in active">
<h3>Terms and Conditions</h3>
<span style="font-size: 80%"><i>Please read the terms and condition first</i></span
>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
<p>
<input type="checkbox" id="reg" /> Please tick this if u have read
and understand everything
</p>
</div>
<div id="home" class="tab-pane fade">
<h3>Menu 1</h3>
<p>
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.
</p>
</div>
<div id="info" class="tab-pane fade">
<h3>Menu 2</h3>
<div class="form-row">
<div class="col-md-12">
<input type="text" class="form-control" placeholder="City" />
</div>
<div class="col-md-6">
<input type="text" class="form-control" placeholder="State" />
</div>
<div class="col-md-6">
<input type="text" class="form-control" placeholder="Zip" />
</div>
</div>
</div>
<div id="form" class="tab-pane fade">
<h3>Menu 3</h3>
<p>
Eaque ipsa quae ab illo inventore veritatis et quasi architecto
beatae vitae dicta sunt explicabo.
</p>
<br />
</div>
</div>
</div>
<hr />
<div>
<p>
<button
type="button"
id="downloadPdf"
class="btn btn-warning"
data-toggle="tooltip"
data-placement="top"
title="Download"
>
Download
</button>
</p>
</div>

关于html - 如何调整 css 打印并为 window.print 中的每个选项卡应用分页符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69234040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com