検索

CSS が Web 開発の最も困難な部分であったことは誰もが知っています。しかし、今日ではさらに難しくなってきています。

信じられないかもしれませんが、CSS でプロパティを定義し、計算を行い、さらには画面サイズを直接取得できるようになりました。この記事ではその方法を説明します。

プロパティの定義

@property ルールは、開発者がカスタム プロパティを作成し、その型、継承、初期値を設定できるようにする CSS の新機能です。この機能を使用すると、特定の値を読み取り、カスタム プロパティに渡すことができます。

以下の例では、画面の幅と高さをそれぞれ表す 2 つのカスタム プロパティ --w_raw と --h_raw を定義します。

@property --w_raw {
  syntax: '<length>';
  inherits: true;
  initial-value: 100vw;
}

@property --h_raw {
  syntax: '<length>';
  inherits: true;
  initial-value: 100vh;
}
</length></length>
  • 構文: ''プロパティのタイプが長さであることを指定します。
  • 継承: true は、プロパティを継承できることを示します。
  • 初期値は、プロパティの初期値を、ビューポートの幅と高さである 100vw と 100vh に設定します。

ユニットの削除

これで画面の幅と高さの値を取得しましたが、これらにはまだ単位が含まれています。単位を削除して純粋な数値を取得するにはどうすればよいでしょうか?これは数学の問題なので、CSS の数学ツール、atan2(y, x) と Tan() を使用する必要があります。

  • atan2(y, x) 関数は、x 軸から点 (x, y) までの角度 (ラジアン単位) を返します。
  • tan() 関数は、指定された角度のタンジェントを計算します。

これらを組み合わせると純粋な数値が得られます。ここでは、パラメータとして var(--w_raw) と 1px を渡して幅の角度を計算し、数値に変換します。このようにして、幅と高さを単位のない値に変換し、:root の変数に格納します。

:root {
  --w: tan(atan2(var(--w_raw), 1px));
  --h: tan(atan2(var(--h_raw), 1px));
}

数字を表示する

数値が CSS に保存されたので、それをどのように表示するのでしょうか?重要なのはカウンターです!

body::before {
  content: counter(w) 'x' counter(h);
  counter-reset: h var(--h) w var(--w);
}

本文に ::before 疑似要素を作成して、CSS コンテンツを表示します。

  • counter-reset はカウンター h と w を初期化し、それらの値を var(--h) と var(--w) に設定します。
  • 内容: カウンタ(w) "x" カウンタ(h);幅と高さのカウンターを「幅 x 高さ」の形式で表示します。

終わり!

これで、純粋に CSS で画面サイズ インジケーターが実装されました。

ブラウザは --w と --h をリアルタイムで更新し、ページに表示します。プロセス全体は完全に JavaScript を使用しません。

ここをクリックしてオンライン デモを試すことができます。

Get Screen Size in Pure CSS

以上がPure CSS で画面サイズを取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
カーソルの次のレベルCSSスタイリングカーソルの次のレベルCSSスタイリングApr 23, 2025 am 11:04 AM

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Apr 23, 2025 am 10:42 AM

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee&#039;の疑いを補強します。

UI効果にCSSバックドロップフィルターを使用しますUI効果にCSSバックドロップフィルターを使用しますApr 23, 2025 am 10:20 AM

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

微笑んでいますか?微笑んでいますか?Apr 23, 2025 am 09:57 AM

まあ、SVG&#039;の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

「かわいい」は見る人の目にあります「かわいい」は見る人の目にありますApr 23, 2025 am 09:40 AM

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

CSS-Tricks XLIIIを記録しますCSS-Tricks XLIIIを記録しますApr 23, 2025 am 09:35 AM

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

Tailwind&#039;の@Apply機能は、響きよりも優れていますTailwind&#039;の@Apply機能は、響きよりも優れていますApr 23, 2025 am 09:23 AM

ほとんどの場合、人々はTailwind&#039;の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio

私はリリースがないように感じます:正気な展開への旅私はリリースがないように感じます:正気な展開への旅Apr 23, 2025 am 09:19 AM

馬鹿のように展開することは、展開に使用するツールと複雑さの報酬と複雑さの減少との間の不一致になります。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境