ホームページ ウェブフロントエンド htmlチュートリアル HTML、CSS、JavaScript: Style_html/css_WEB-ITnose を克服するための JavaScript の 5 つの武器

HTML、CSS、JavaScript: Style_html/css_WEB-ITnose を克服するための JavaScript の 5 つの武器

Jun 24, 2016 am 11:15 AM

HTML の世界では、要素に関して主に注目すべきはその気質ではなく、そのスタイルです。スタイルはその外観を決定するためです。よく言われるように、JavaScript と Style、これを手に入れた者が世界を勝ち取ります。ただし、Style が JavaScript を変更することはできませんが、JavaScript は Style を征服することができます。 JavaScript には 5 つの武器があるため、遠くから眺めたり、遊んだりと、やりたいことをすべて行うことができます。

最初の武器は className です。JavaScript では、要素の className を取得することは、この要素の class 属性の値を取得することを意味します。コードを表示:

<div id="box" class="one two"/><script>  var box = document.getElementById("box")  alert(box.className)  box.className += ' three'</script>
ログイン後にコピー

上記のコードは、box クラスを取得し、それに 3 を追加します。クラスを削除する場合は、文字列操作によってクラスを削除し、className を再割り当てします。

2 番目の武器はスタイルです。正確に言うと、これを使用してほぼすべてのスタイルを変更できます。たとえば、box.style.width='100px' を実行すると、ボックスに style="width:100px" を追加するのと同じになります。

background-color、marigin-top など、複数の単語で構成されるスタイル値の場合は、水平線を削除し、単語の最初の文字を大文字にします。はい、backgroundColor や mariginTop などに変更します。 -moz-border-radius と同様に、- を削除し、その後の文字を大文字に変更すると、MozBorderRadius に変更されます。

CSS では style 属性が優先されるため、style を使用して CSS で設定されたスタイルをオーバーライドすることも、空の文字列に設定して復元することもできます:

var box = document.getElementById("box")box.style.width='100px'box.style.width=''
ログイン後にコピー

上記のコードは最終的にボックスの幅を維持します変更なし。

3 番目の武器は cssText ですが、実際にはこれもスタイルの属性です。しかし、それは非常に強力であるため、私たちはそのステータスを特別に高めました。 style.cssText を使用して、完全なスタイル コンテンツを取得および設定します。

<div>Button</div><script>  var div = document.body.children[0]  div.style.cssText='color: red !important; \    background-color: yellow; \    width: 100px; \    text-align: center; \    blabla: 5; \  '  alert(div.style.cssText)</script>
ログイン後にコピー

ブラウザは cssText を解析し、解析結果を要素に適用します。上記のコードでは、blabla を知らない場合は直接無視され、エラーは報告されないため、タイプミスに注意してください。

そして、! important を追加したい場合は、cssText のみを使用できます。

次に登場するのは、まさに重量級の武器が 2 つ、つまり 1 つと 10 分の 1 の武器です。 1 つは標準の getComputedStyle で、もう 1 つはその亜種の 10 分の 1 であり、ナルシストな M$IE が自分のために特別に作成した currentStyle です (ああ、その市場シェアはわずか 10 分の 1 だそうです)。

実際のページでは、要素の style 属性にスタイルが設定されているのはほとんど見られないため、style を使用して要素の Style を読み取ることはほとんど不可能です。たとえば、次の例では、

<style>  body { margin: 10px }</style><body>  <script>    alert(document.body.style.marginTop)  </script> </body>
ログイン後にコピー

値を取得できません。

このニーズは window.getComputedStyle によってのみ解決できます。このメソッドは DOM レベル 2 の標準メソッドであり、すべてのブラウザー (IE <9 を除く) でサポートされています。

したがって、上記の例の marginTop と、ブラウザが要素にスタイルとスタイル シートを適用した後のすべての Style を取得するには、次のように行うことができます:

<style>  body { margin: 10px }</style><body>  <script>    var computedStyle = getComputedStyle(document.body, null)    alert(computedStyle.marginTop)  </script></body>
ログイン後にコピー

IE 9 より前のブラウザの場合は、 currentStyle を使用する必要があります。読む。または次のようにします:

<style>  body { margin: 10% }</style><body><script>    if (window.getComputedStyle) {      var computedStyle = getComputedStyle(document.body, null)    } else {      computedStyle = document.body.currentStyle    }    alert(computedStyle.marginTop)  </script></body>
ログイン後にコピー

さて、上記は JavaScript がスタイルを征服するための 5 つの武器です。しかし、私が使用しているのは最初の 4 つの武器だけです。ユーザーはまだ IE 9 ブラウザーを使用しているため、彼らにサービスを提供するのは本当に無力だと感じています。

ステートメント: この記事は、(盗用された) スタイルとクラス、getComputedStyle について言及しています

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Routerフォルダーの下のindex.jsファイルでvue.use(vuerouter)を呼び出す必要があるのはなぜですか? Apr 05, 2025 pm 01:03 PM

Vueアプリケーションを開発するときに、ルーターフォルダーの下にindex.jsファイルにvuerouterを登録する必要性があるため、ルーティング構成で問題が発生することがよくあります。特別...

See all articles