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: NULLCSS プロパティではなく、ブラウザーがその値を無視してdisplay: none;. 画像は非表示のままで、意図した動作は適用されません。

さらなる議論

私の解決策が問題の解決に役立つことを願っていますが、私には解決策があります。

「display: none;」を使用する代わりに 要素を非表示にしてから、値を元のプロパティに戻して再表示するには、次のようにします。

".hidden:

.hidden { display: none;}

要素を非表示にしたいときはいつでも、クラス「.hidden」を要素に追加するだけです。要素を再度表示したい場合は、クラスを削除するだけです。

利点は 2 つあります。

  • 元の値に戻す必要がなくなり、表示 (インライン、ブロック、インライン ブロックなど) を区別する必要がなくなります。
  • Web アプリケーション全体で hide コンポーネントを標準化します。

よろしく、そして頑張ってください。

于 2013-06-27T14:48:13.303 に答える