html css显示隐藏菜单栏,html – 全部隐藏,用css显示一个类

本文探讨了在CSS中如何优化网页打印,尤其是如何隐藏不必要的内容并显示特定元素。作者尝试使用@media print规则和display属性,但遇到了元素显示属性不一致的问题。文章提到了box-suppress属性作为可能的解决方案,并询问了最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上下文:使可打印的发票在浏览器中生成.

在使可打印网页使用@media打印规则来改变内容查找打印页面的方式时,这种情况很常见.理想情况下,因为我只打印页面的一小部分,所以我想隐藏所有内容然后显示特定元素的内容.

结构是这样的:

...lots of elements...
...lots more...
...some tools...
...some elements I want to print...
...more stuff I don't want to print...

我试过的东西:

理想情况下,我想做点什么

body * {

display: none;

}

.printing, .printing * { /* Both parts are needed to make it display */

display: block !important;

}

但这不起作用,因为有些元素需要内联,有些需要阻塞.我已经玩了一些不同的值来显示从MDN,并找不到一个容易将值重置为其原始值. display:initial似乎被视为内联.

当然,有可能明确地“隐藏”我不想要打印的东西,而不是显示我想要的东西,但在我看来应该可以走另一条路.

我注意到w3 draft和the display-outside page似乎建议使用未知(to webkit)box-suppress属性来保留显示值而不显示元素.

我的问题:

什么是隐藏所有内容并定位某些元素的最佳方式,当它们不共享显示属性时?

box-suppress究竟做了什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值