Php 为什么可以';我不能使用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被后来定义的

我试图在打印时在报告上显示横幅,但它不打印。我所做的是在常规CSS中将显示状态设置为
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
          元素的背景,并且浏览器通常默认设置为不打印背景

          编辑:呃,安德鲁已经讲过了