Php 为什么可以';我不能使用CSS更改显示状态吗?
我试图在打印时在报告上显示横幅,但它不打印。我所做的是在常规CSS中将显示状态设置为Php 为什么可以';我不能使用CSS更改显示状态吗?,php,html,css,printing,Php,Html,Css,Printing,我试图在打印时在报告上显示横幅,但它不打印。我所做的是在常规CSS中将显示状态设置为display:none #transfer_head2 { display:none; } 我在打印CSS中将显示状态更改为display:block #transfer_head2 { display:block; } 但这是行不通的。为什么?有人能帮我吗?可能您的显示:none被后来定义的另一个属性覆盖。尝试重要的 display:block !important; 可能您的显示:none被后来定义的
display:none
#transfer_head2
{
display:none;
}
我在打印CSS中将显示状态更改为display:block
#transfer_head2
{
display:block;
}
但这是行不通的。为什么?有人能帮我吗?可能您的
显示:none
被后来定义的另一个属性覆盖。尝试重要的
display:block !important;
可能您的
显示:none
被后来定义的另一个属性覆盖。尝试重要的
display:block !important;
检查CSS文件和定义的媒体的顺序。print.css应该排在最后,这样它就可以用
media=all
覆盖任何css。使用Firefox和WebDeveloper插件,您可以更改浏览器中的CSS,使其显示为打印媒体。您可能希望结合Firebug的检查工具来尝试,以查看从何处应用了什么CSS。检查CSS文件和定义的媒体的顺序。print.css应该排在最后,这样它就可以用media=all
覆盖任何css。使用Firefox和WebDeveloper插件,您可以更改浏览器中的CSS,使其显示为打印媒体。您可能希望结合Firebug的检查工具来尝试,看看从哪里应用CSS。- 确保容器div(如果有)未隐藏
- 使用WebDeveloper工具栏检查生成的源代码,以查看div的继承属性
- 确保容器div(如果有)未隐藏
- 使用WebDeveloper工具栏检查生成的源代码,以查看div的继承属性
- 是否为
\transfer\u head2
a表
?如果是,您需要使用:
#transfer_head2 { display: table; }
它是一个TR
#transfer_head2 { display: table-row; }
它是一个TD
还是一个TH
?然后是以下内容:
#transfer_head2 { display: table-cell; }
@media screen {
#transfer_head2 { height: 1px; width: 1px; overflow: hidden; visibility: hidden; }
}
@media print {
#transfer_head2 { height: 60px; width: 468px; visibility: visible; }
}
请注意,IE6或更低版本不支持这些功能。在这种情况下,您可能希望使用以下内容:
#transfer_head2 { display: table-cell; }
@media screen {
#transfer_head2 { height: 1px; width: 1px; overflow: hidden; visibility: hidden; }
}
@media print {
#transfer_head2 { height: 60px; width: 468px; visibility: visible; }
}
编辑:我忘了在我的原始帖子中指定这一点,但请记住,大多数浏览器配置在默认情况下都禁用了后台打印,因此如果您的CSS中有以下内容:
#transfer_head2 { background-image: url('../image/print_banner.jpg'); }
无论显示模式如何,它都不会打印。如果您可以控制用户的浏览器配置,则这不是问题,但在大多数情况下,您会希望在横幅上使用IMG
标记。是\transfer\u head2
a表
?如果是,您需要使用:
#transfer_head2 { display: table; }
它是一个TR
#transfer_head2 { display: table-row; }
它是一个TD
还是一个TH
?然后是以下内容:
#transfer_head2 { display: table-cell; }
@media screen {
#transfer_head2 { height: 1px; width: 1px; overflow: hidden; visibility: hidden; }
}
@media print {
#transfer_head2 { height: 60px; width: 468px; visibility: visible; }
}
请注意,IE6或更低版本不支持这些功能。在这种情况下,您可能希望使用以下内容:
#transfer_head2 { display: table-cell; }
@media screen {
#transfer_head2 { height: 1px; width: 1px; overflow: hidden; visibility: hidden; }
}
@media print {
#transfer_head2 { height: 60px; width: 468px; visibility: visible; }
}
编辑:我忘了在我的原始帖子中指定这一点,但请记住,大多数浏览器配置在默认情况下都禁用了后台打印,因此如果您的CSS中有以下内容:
#transfer_head2 { background-image: url('../image/print_banner.jpg'); }
无论显示模式如何,它都不会打印。如果您可以控制用户的浏览器配置,这不是问题,但在大多数情况下,您会希望在横幅上使用IMG
标记。如果看不到#transfer_head2
的代码,您应该将其粘贴到问题中
一个可能的原因可能是您已将横幅作为#transfer_head2
元素的背景,并且浏览器通常默认设置为不打印背景
编辑:呃,安德鲁已经讲过了…没有看到\transfer\u head2的代码很难说,你应该把它粘贴到你的问题中
一个可能的原因可能是您已将横幅作为#transfer_head2
元素的背景,并且浏览器通常默认设置为不打印背景
编辑:呃,安德鲁已经讲过了