外部css vs服务器端样式添加

时间:2013-06-26 21:21:45

标签: c# asp.net css

如果在外部样式表和内联中设置样式display:none,为什么单击后不显示图像?

enter image description here

1 个答案:

答案 0 :(得分:1)

要显示display: none;隐藏的图像,必须将显示属性恢复为原始显示属性。

display: block;  /* use if you made the image if it floated or acts like a <div> */
display: inline; /* default image display type (USE THIS ONE) */

我注意到你的代码:

targetid.Style.Add("display", "");

您试图通过声明显示属性“空白”来显示图像。这不起作用,因为display: NULL不是CSS属性,导致浏览器忽略其值并恢复使用display: none;。图像保持隐藏状态,未应用您的预期行为。

进一步讨论

虽然我希望我的解决方案有助于解决问题,但我确实有一个解决方案:

而不是使用“display:none;”隐藏一个元素,然后通过将值恢复为原始属性来取消隐藏它,请执行以下操作:

添加一个名为“.hidden:

的类
.hidden { display: none;}

每当你想要一个元素消失时,只需在元素中添加“.hidden”类。如果要再次显示该元素,只需删除该类。

优势有两个方面:

  • 删除了恢复原始值并且必须区分display:inline,block,inline-block等的要求。
  • 标准化整个Web应用程序中的隐藏组件。

问候并祝你好运。