我有一个简单的“手风琴”类型页面,其中包含H3标题和DIV内容框的列表(每个H3后面跟着一个DIV).在这个页面上,我从隐藏的所有DIV开始.当单击H3时,直接在下面(后面)的DIV显示jQuery的
“slideDown”功能,而所有其他DIV都隐藏了
“slideUp”功能.
“slideUp”函数将以下内联样式插入到指定的DIV中:
style="display: none;"
我想知道是否有任何方法让我展示当用户打印页面时扩展的所有DIV(就像用户禁用JavaScript时那样).
我认为这是不可能的,因为内联样式总是优先于任何其他样式声明.
还有其他解决方案吗?
解
Sugendran’s solution很棒,可以在浏览器(FF2,IE7和IE6)中使用到目前为止我已经测试过了.我不知道有什么办法可以覆盖内联样式,我很确定这是我以前查过的东西,所以这很好找出来.我也看到有关于此的this answer here.我希望搜索在这里导航并不困难:-).
Lee Theobald’s solution会很棒,但“slideUp”函数会添加style =“display:none;”位.
My solution工作正常,但是!important声明有效时有点矫枉过正.
解决方法
您可以在CSS中使用!important子句.这将覆盖内联样式.
因此,如果您设置了打印介质样式表 – 您可以执行类似的操作
div.accordian { display:block !important; }