作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道为了防止打印某些页面部分,我们可以添加一个类并告诉 CSS 我们不希望打印此类中的元素。例如:
页面.html:
<div class="main">
<div class = "section1 donotprint">
<p>Hey, I'm not printed. Poor me.</p>
</div>
<div class = "section2">
<p>Hey, I am printed! Lucky me!</p>
</div>
打印.css:
.donotprint {
display: none;
}
然后包括<link rel="stylesheet" type="text/css" media="print" href="print.css" />
施展魔法。
但是我正在做一个相当繁重的元素,我不想到处都用 donotprint 类污染代码。所以我想指定我想要打印的内容,而不是指定我不想打印的内容。所以在我的例子中它会是这样的:
页面.html:
<div class="main">
<div class = "section1">
<p>Hey, I'm not printed. Poor me.</p>
</div>
<div class = "section2 print">
<p>Hey, I am printed! Lucky me!</p>
</div>
我试过了 :not(.print) {display: none;}
但是display: none;
也会影响 child ,因此不会打印任何内容(好吧,空的 <div class = "section2 print"></div>
是)。
那么 CSS 允许这种事情吗?如果是这样,怎么做到的?
最佳答案
您可以将 *
选择器与直接子 > 结合使用
.main > * { /* Basically the sections */
display: none;
}
.main > .print {
display: initial;
}
上面的内容不像专门定义要隐藏的内容那样灵活 - 因为它仅适用于直接子级。
关于css - 如何只打印特定页面部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537980/
我是一名优秀的程序员,十分优秀!