html - 隐藏左侧导航栏后如何使打印样式表的内容全宽
问题描述
在创建打印样式表时,我想隐藏所有导航,但由于该站点有一个左侧导航栏,可以扩展窗口的整个高度,我怎样才能让打印的内容占据页面的整个宽度?目前,内容将正常显示和打印,但导航栏所在的页面上有一个“列”。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<style>
.column {
padding: 15px;
}
.clearfix::after {
content: "";
clear: both;
display: table;
}
.menu {
position: absolute;
background-color: #e9e9e9;
top: 0;
bottom: 0;
width: 25%;
}
.content {
position: relative;
margin-left: 25%;
padding-left: 60px;
right: 0;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 8px;
background-color: #33b5e5;
color: #ffffff;
}
.menu li:hover {
background-color: #0099cc;
}
@media print {
.menu {
display: none;
}
}
</style>
</head>
<body>
<div class="clearfix">
<div class="column menu">
<ul>
<li>Nav Item</li>
<li>Nav Item</li>
<li>Nav Item</li>
<li>Nav Item</li>
</ul>
</div>
<div class="column content">
<h1>Title / Heading</h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit.</p>
</div>
</div>
</body>
</html>
解决方案
除了在 上进行设置之外display: none
,.menu
您还需要将背面的margin-left
和“重置”到您的内部:padding-left
.content
0
@media print
@media print {
.menu {
display: none;
}
.content {
margin-left: 0;
padding-left: 0;
}
}
这可以在下面看到:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<style>
.column {
padding: 15px;
}
.clearfix::after {
content: "";
clear: both;
display: table;
}
.menu {
position: absolute;
background-color: #e9e9e9;
top: 0;
bottom: 0;
width: 25%;
}
.content {
position: relative;
margin-left: 25%;
padding-left: 60px;
right: 0;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 8px;
background-color: #33b5e5;
color: #ffffff;
}
.menu li:hover {
background-color: #0099cc;
}
@media print {
.menu {
display: none;
}
.content {
margin-left: 0;
padding-left: 0;
}
}
</style>
</head>
<body>
<div class="clearfix">
<div class="column menu">
<ul>
<li>Nav Item</li>
<li>Nav Item</li>
<li>Nav Item</li>
<li>Nav Item</li>
</ul>
</div>
<div class="column content">
<h1>Title / Heading</h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit.</p>
</div>
</div>
</body>
</html>
推荐阅读
- python - 使用 zip 后找到最小值
- javascript - Jupyter notebook 不显示 d3.js 可视化的输出
- c# - RSACryptoServiceProvider.Decrypt() 可以返回不正确的数据吗?
- javascript - 使用变量作为 jquery 函数的参数来查找它时,找不到带有 jquery id 选择器的 html 元素
- angular - 如何在同级组件中单击(或更改)时执行多个功能?
- javascript - (香草)Js 搜索中的“找不到”消息
- clojure - 有没有一种更优雅的方法可以将地图作为来自 Clojure 中标准输入的对列表输入?
- xamarin.forms - Xamarin Forms:未呈现空标签
- php - 404 文件未找到,即使它 100% 存在
- linux - openssl、ssh-keygen 和 cfssl 之间的区别