ホームページ  >  記事  >  ウェブフロントエンド  >  CSS_html/css_WEB-ITnoseを非表示にする方法

CSS_html/css_WEB-ITnoseを非表示にする方法

WBOY
WBOYオリジナル
2016-06-21 09:07:02794ブラウズ

display:noneとvisibility:hiddenの違い

// 1、空间占据display:none;// 隐藏的元素不占文档流visibility:hidden;// 隐藏的元素空间存在(占茅坑、不拉屎)// 2、回流和重绘(reflow/repaint)display:none;// 隐藏参数回流和重绘visibility:hidden;// 无回流和重绘// 3、株连九族display:none;// 其内的标签元素全部隐藏、无论如何挣扎都无济于事visibility:hidden;// 其元素若添加visibility:visible;则会显示出来

height:0;overflow:hidden;

overflow:hidden;// 溢出隐藏//若父级被添加了position属性、子级内添加了绝对定位、则不会被隐藏//火星人在地球触发了法律,如果火星人的老爸在这法律之外,则这个火星人啥事没有;否则,坐牢!
position:absolute;top:-999em;// 不占空间、无法点击position:relative;top:-999em;// 占内存、无法点击position:absolute;visibility:hidden;// 不占空间、无法点击opacity:0;filter:Alpha(opacity=0);// 占内存、可以点击

これらの理由はブラウザのバックフローを引き起こす

  • フォントサイズを変更する

  • スタイルシートを変更する

  • DOM操作

  • CSS疑似クラス

  • 要素コンテンツの変更、特に入力コントロール

  • ウィンドウサイズの調整(サイズ変更)

  • width、clientWidth(コンテンツの表示領域サイズ)、offsetWidth(border+clientWidth)) 、scrollTop/scrollHeight (要素コンテンツの高さ/オーバーフロー コンテンツを含む)

  • により、ブラウザはプログレッシブ リフロー キューをフラッシュし、すぐにリフローを実行します
    ページ リフローを減らす方法

    • スタイルを 1 つずつ変更することはできれば避けてくださいスタイル属性 cssText を永続的に変更するか、クラスを定義して className を一度に追加します

    • DOM のループを避け、documentFragment または div を作成し、それにすべての DOM 操作を適用し、最後に指定された要素に追加します

    また、display:none; での DOM 操作ではリフローや再描画が発生しないため、display:none; 要素を操作することもできます。 offsetLeft などの属性を読み取るループを避け、ループの前に配置します。

    • 複雑なアニメーション要素の動きを実行する場合は、絶対配置を使用してドキュメント フローから要素を削除します。

      そうしないと、親要素と後続の要素のリフローが大量に発生します

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。