検索
ホームページウェブフロントエンドhtmlチュートリアルCSS Secret Garden: クリック可能な領域を拡張する_html/css_WEB-ITnose

『CSS Secrets』は、@Lea Verou による最新の本で、CSS に関する小さな秘密を説明しています。これは CSSers にとって読む価値のある本です。一定期間読んだ後、私、@全域と @彦子は、関連する読書感想文を W3cplus で公開し、皆さんと共有します。

ユーザー エクスペリエンスに興味がある場合は、フィッツの法則について聞いたことがあるかもしれません。 1954 年にアメリカの物理学者ポール フィッツによって最初に提案されたフィッツの法則は、ターゲット領域に素早く移動するのに必要な時間であり、ターゲットまでの距離とターゲットの幅の比の対数関数です。一般的に使用される数式は、Time = a + b log2 (D / S + 1) です。ここで、T は所要時間、D はターゲットの中心までの距離、W はターゲットの幅、a と b は定数です。

ヒント: simonwallner.at/ext/fitts でインタラクティブな視覚化を介して、フィッツの法則の適用を確認してください

当時、グラフィカル ユーザー インターフェイスは存在していませんでしたが、フィッツの法則は修正されたシステムに完全に適用できました-ポイントデバイスですが、現在ではHCI(ヒューマンコンピュータインタラクション)の原理として広く知られるようになりました。最初は驚くかもしれませんが、フィッツの法則は特定のハードウェアよりも人間の運動制御に関するものであることを覚えておいてください。

当然の結果として、目標が大きければ大きいほど、それに到達するのは容易になります。したがって、多くの場合、拡大するオプションがなければクリックするのが難しい小さなコントロールの周囲のクリック可能な領域を拡大すると、使いやすさが向上します。タッチスクリーンがより一般的になるにつれて、これはますます重要になっています。たとえそれがまだ一般的であるとしても、その迷惑な小さなボタンを何十回も押したい人はいません。

また、ウィンドウの横にマウスを置くと、特定の要素が描画されることを期待します。たとえば、自動的に非表示になっているタイトルは、マウスを近づけると上から自動的に描画されます。また、クリック領域の拡張も含まれます (一方向のみ)。 CSS経由でできるのでしょうか?

解決策

まず、図に示すような単純なボタンがあると仮定しましょう

次に、そのクリック領域を 4 つの方向すべてに 10 ピクセルずつ増加させたいと考えます。これには、cursor: pointer などのいくつかの単純なスタイルを適用しました。これは、マウス操作に便利なだけでなく、クリック領域がどこにあるかをテストするのにも役立ちます。

クリック領域を拡張する最も簡単な方法は、透明な実線の境界線です。これは、アウトラインや影とは異なり、マウスと境界線の間の相互作用も要素に作用するためです。たとえば、要素のクリック領域を全方向に 10 ピクセル拡張するには、コードを次のように記述するだけです:

border: 10px solid transparent;

ただし、以下の画像でわかるように、効果はあまり良くありません。ボタンが大きくなります。

その理由は、デフォルトで背景がその下の境界線を拡張するためです。

border: 10px solid transparent;background-clip: padding-box;

上の図に示すように、表示に問題はありません。しかし、ボタンの周囲に実際の境界線を作成すると、実際にはクリック領域を拡張するために唯一の境界線を使用していることがわかります。それではどうすればいいでしょうか?非常に簡単です。インナー シャドウを使用して (単色) ボーダーをシミュレートできます

border: 10px solid transparent;box-shadow: 0 0 0 1px rgba(0,0,0,.3) inset;background-clip: padding-box;

効果は以下に示すとおりです:

ボーダーとは異なり、複数のボックス シャドウを使用できます。さらに必要な場合は、カンマを使用して影のセットを区切ります。ただし、内側のシャドウと外側のシャドウを組み合わせると、外側のシャドウが境界ボックスの外側に描画されるため、非常に奇妙な効果が得られます。たとえば、ボタンにぼかしの影を追加して、ページ上で「飛び出す」効果、つまり別のクリック可能なコンテンツを与えたい場合があります:

box-shadow: 0 0 0 1px rgba(0,0,0,.3) inset,            0 .1em .2em -.05em rgba(0,0,0,.5);

ただし、これを試してみると、結果はまったく異なることがわかります。私たちが予想していたものより。

この解決策は他の理由から完璧ではありません。枠線はレイアウトに影響しますが、場合によっては問題にならない場合もあります。だから何をすべきか?境界線を削除し、擬似要素を使用して、親要素とのマウス操作をキャプチャします。

ボタンの上に透明な疑似要素をオーバーレイして、全方向にボタンよりも 10 ピクセル大きくすることができます:

button {    position: relative;    /* [rest of styling] */}button::before {    content: '';    position: absolute;    top: -10px; right: -10px;    bottom: -10px; left: -10px;}

これも実現可能で、疑似要素が必要ない限り、何も影響しません。疑似要素のソリューションは非常に柔軟です。クリック領域を任意のサイズ、位置、形状にでき、要素自体とは関係のないコンテンツも作成できます。

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

htmltagsareSterentionforturturingwebpages、EnhinceAccessibility、seo、andporformance.1)theyclosedinagure bracketetsandinginging inpairstocreateahierarchStructure.2)semanticagslikeandimproveuserexperienceandseo.3)

自己閉鎖タグとは何ですか?例を挙げてください。自己閉鎖タグとは何ですか?例を挙げてください。Apr 27, 2025 am 12:04 AM

セルフクロージングのlandxmlareTagstatemtatemsem onedinedingsingaseparateclosingtag、SimmarifiedMarkupStructureanddendingCodingInefciency.1)areEssentionalinforementswithoutcontent、2)

HTMLを超えて:Web開発のための重要なテクノロジーHTMLを超えて:Web開発のための重要なテクノロジーApr 26, 2025 am 12:04 AM

強力な機能と優れたユーザーエクスペリエンスを備えたWebサイトを構築するには、HTMLだけでは十分ではありません。次のテクノロジーも必要です。JavaScriptは、Webページに動的とインタラクティブ性を与え、リアルタイムの変更がDOMを操作することで達成されます。 CSSは、美学とユーザーエクスペリエンスを向上させるために、Webページのスタイルとレイアウトを担当しています。 React、Vue.JS、Angularなどの最新のフレームワークとライブラリは、開発効率とコード組織構造を改善します。

HTMLのブール属性とは何ですか?いくつかの例を挙げてください。HTMLのブール属性とは何ですか?いくつかの例を挙げてください。Apr 25, 2025 am 12:01 AM

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードをどのように検証できますか?HTMLコードをどのように検証できますか?Apr 24, 2025 am 12:04 AM

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML対CSSおよびJavaScript:Webテクノロジーの比較HTML対CSSおよびJavaScript:Webテクノロジーの比較Apr 23, 2025 am 12:05 AM

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

マークアップ言語としてのHTML:その機能と目的マークアップ言語としてのHTML:その機能と目的Apr 22, 2025 am 12:02 AM

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

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

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

mPDF

mPDF

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

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

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