1

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

在此处输入图像描述

4

1 回答 1

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;. 图像保持隐藏状态,您的预期行为未应用。

进一步讨论

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

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

添加一个名为“.hidden:

.hidden { display: none;}

每当你想让一个元素消失时,只需将类“.hidden”添加到元素中。当您想再次显示该元素时,只需删除该类。

优点有两点:

  • 消除了恢复到原始值和必须区分显示的要求:inline、block、inline-block 等。
  • 在整个 Web 应用程序中标准化隐藏组件。

问候和祝你好运。

于 2013-06-27T14:48:13.303 回答