CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、元のものが醜いため、jquery-ui のツールチップ、Bootstrap のツールチップなど、このような派生プラグインが多くあります。また、プラグインライブラリも多数あります。

場合によっては、これほど大きなプラグイン ライブラリは必要ありません。実際、ツールチップを 1 つか 2 つの場所に作成するだけでよいので、CSS コンテンツ プロパティと :before および :after 疑似要素を使用して、生成されたコンテンツを挿入できます。

効果は次のように確認します

HTMLコードは次のとおりです

<a class="dui-tips" data-tooltip="私は 3cbest.com のヒントです">w3cbest.com</a>

「data-」はカスタム属性です。たとえば、カスタム プロンプト data-tooltip="I am a 3cbest.com prompt" などです。コンテンツの attr を使用して、before および after content と組み合わせてカスタム プロンプトを呼び出します。attr(data-tooltip);

content: attr は簡単に理解できます。jq の .attr() を知っていれば、それが何を意味するかはわかります。この例では、content: attr を使用して、データ ツールチップの値を取得します。

CSSコード

.dui-ヒント {
位置: 相対的;
表示: インラインブロック;
カーソル: ポインタ;
}
 
.dui-tips[データツールチップ]:after、
.dui-tips[データツールチップ]:before {
可視性: 非表示;
位置: 絶対;
上位: 50%;
左: 100%;
遷移: すべて .3;
}
 
.dui-tips[データツールチップ]:after {
 
コンテンツ: attr(データツールチップ);
変換: translate(-5px, -50%);
空白: 前;
パディング: 5px 10px;
背景色: rgba(0, 0, 0, 0);
色: rgba(255, 255, 255, 0);
}
 
.dui-tips[データツールチップ]:before {
コンテンツ: '';
高さ: 0;
幅: 0;
変換: translate(-10px, -50%);
境界線の幅: 5px 5px 5px 0;
境界線のスタイル: solid;
境界線の色: 透明 rgba(0, 0, 0, 0) 透明 透明;
}
.dui-tips:hover:after、.dui-tips:hover:before {
遷移: すべて .3;
可視性: 可視;
 
}
.dui-tips:hover:after {
色: rgba(255, 255, 255, 1);
背景色: rgba(0, 0, 0, 0.8);
変換: translate(5px, -50%);
}
 
.dui-tips:hover:before {
境界線の色: 透明 rgba(0, 0, 0, 0.8) 透明 透明;
変換: translate(0px, -50%);
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQL InnoDB ロックの概要

>>:  Virtualbox に Centos7 仮想マシンをインストールする詳細なグラフィック チュートリアル

推薦する

nginxとlvsのメリットとデメリット、そして適切な使用環境

まず最初に、ロード バランシングとは何かについて説明します。ロード バランシングとは、リクエストの内...

Mac MySQL のルートパスワードをリセットするチュートリアル

免責事項:このパスワード リセット方法は、Homebrew によってインストールされた MySQL ...

Navicat が MySQL にリモート接続するときに発生する 10060 不明エラーを解決する方法

はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...

CSS フレックスベースのテキストオーバーフロー問題の解決方法

重要でないflex-basisテキストオーバーフローに省略記号を追加するという小さな機能に多くの問題...

JavaScriptのポイントごとのシリーズでこれは何ですか

これを理解するおそらく、他のオブジェクト指向プログラミング言語でもthis見たことがあり、これがコン...

MySQLはテーブルデータを復元するためにfrmファイルとibdファイルを使用します

目次frm ファイルと ibd ファイルの紹介frm ファイル回復テーブル構造ibd ファイル回復テ...

Linux 上でプロジェクトをリリースするために Tomcat を展開するプロセスにおけるさまざまな問題と解決策

プロジェクトをプロジェクトサイトのテスト環境にデプロイするJDK1.8トムキャット8.5 Maven...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

MYSQL の binlog 最適化に関する考察の要約

質問質問 1: トランザクションをコミットするときに REDO ログをフラッシュすることによって発生...

MySQLデータのバックアップとリカバリの実装方法の分析

この記事では、例を使用して MySQL データのバックアップと復元の方法について説明します。ご参考ま...

React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

最近、古い RN プロジェクトを Xcode で実行すると、次のコード エラーが報告されました。 &...

JSネイティブ2列シャトル選択ボックスの実装例

目次いつ使うか構造的ブランチコードいつ使うか選択動作を完了するには、2 つの列間で要素を直感的に移動...

CSS3 FlexBox の伸縮自在なレイアウトを 10 分で理解する

基本的な紹介特徴Flexbox は、よりシンプルで効率的なレイアウト方法を提供する CSS 表示タイ...

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...