PDFをツールチップに表示する方法
PDFをツールチップに表示する方法を紹介します。このサンプルでは、「PDFを確認」ボタンへマウスカーソルを合わせるとツールチップが開き、その中にPDFをiframeで表示します。基本のツールチップと同じようにCSSの:hoverを利用して表示・非表示を切り替えるため、JavaScriptを使用せずHTMLとCSSだけで実装できます。
商品資料、マニュアル、案内資料、利用規約など、ページを移動せずにPDFの内容をその場で確認させたい場合に利用できます。通常時はPDFを非表示にしておき、必要なときだけボタンの上へツールチップとして表示するため、ページ内の表示スペースを抑えながら資料を案内できます。
HTMLではタイトル、説明文、ボタンの文章、表示するPDFのURLを変更できます。CSSではツールチップの横幅、高さ、ボタンとの間隔、背景色、角丸、表示切り替え時間などを調整できます。画面幅が狭い場合はツールチップの横幅とPDF表示エリアの高さを調整するため、スマートフォン・タブレット・PCの画面幅に対応できます。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
ボタンへマウスカーソルを合わせるとPDFを表示します。
「PDFを確認」へマウスカーソルを合わせるとPDFが表示されます。カーソルを外すと自動で非表示になります。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コード -->
<meta charset="UTF-8">
<!-- スマートフォン対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>PDFをツールチップに表示する方法</title>
<!-- CSSファイル -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- PDFツールチップ全体 -->
<div class="pdf-tooltip_wrap">
<!-- タイトル -->
<div class="pdf-tooltip_title">
PDFをツールチップで表示
</div>
<!-- 説明文 -->
<p class="pdf-tooltip_text">
ボタンへマウスカーソルを合わせるとPDFを表示します。
</p>
<!-- ツールチップ表示エリア -->
<div class="pdf-tooltip_area">
<!-- PDFを表示するボタン -->
<button class="pdf-tooltip_button" type="button">
PDFを確認
</button>
<!-- PDFを表示するツールチップ -->
<div class="pdf-tooltip_message">
<!-- PDF表示エリア -->
<div class="pdf-tooltip_frame">
<!--
【表示するPDFの設定方法】
1. 表示したいPDFをWeb上からアクセスできる場所へ
アップロードします。
2. アップロードしたPDFのURLを取得します。
3. 下記の YOUR_PDF_URL を取得したPDFのURLへ
置き換えてください。
WordPressの場合は、メディアライブラリへPDFを
アップロードし、PDFのファイルURLを使用できます。
例:
https://example.com/sample.pdf
-->
<iframe
src="YOUR_PDF_URL"
title="PDF">
</iframe>
</div>
</div>
</div>
</div>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTMLとCSSの2ファイルで構成されています。HTMLではPDFを表示するボタン、ツールチップ、PDFを読み込むiframeを配置します。CSSでは基本のツールチップと同じ:hoverを利用し、ボタンへマウスカーソルを合わせたときにPDFを表示します。JavaScriptや外部ライブラリは使用しません。
表示するPDFファイル自体はサンプル一式には含まれていません。利用者自身でPDFを用意してWeb上からアクセスできる場所へアップロードし、そのPDFのURLをindex.html内のYOUR_PDF_URLへ設定して使用します。
sample/
├── index.html
└── style.css
各ファイルの役割
index.htmlはPDFツールチップ全体を構成するファイルです。タイトル、説明文、「PDFを確認」のボタン、ツールチップ、PDFを表示するiframeを記述しています。iframeのsrc属性にあるYOUR_PDF_URLを利用者自身で用意したPDFのURLへ置き換えます。
style.cssはPDFツールチップのデザインと表示動作を設定するファイルです。ボタンのデザイン、ツールチップの位置・横幅・背景色・角丸、PDF表示領域の高さなどを設定しています。:hoverを利用しているため、JavaScriptを使わずマウスカーソルの出入りに合わせて表示・非表示を切り替えます。
設置方法・使い方
sampleフォルダへindex.htmlとstyle.cssを配置します。次に、ツールチップへ表示したいPDFファイルを利用者自身で用意し、Web上からアクセスできる場所へアップロードしてください。WordPressを使用している場合は、管理画面のメディアライブラリへPDFをアップロードし、アップロードしたPDFのファイルURLを取得できます。
取得したPDFのURLをindex.html内のYOUR_PDF_URLへ設定します。
src="YOUR_PDF_URL"
例えばPDFのURLがhttps://example.com/sample.pdfの場合は、src="https://example.com/sample.pdf"のように置き換えます。設定後にsample/index.htmlをブラウザで開き、「PDFを確認」ボタンへマウスカーソルを合わせるとPDFがツールチップ内へ表示されます。カーソルをボタンとツールチップの領域から外すと自動で非表示になります。
カスタマイズできる内容
index.htmlでは「PDFをツールチップで表示」のタイトル、説明文、「PDFを確認」のボタンテキスト、iframeのtitle、表示するPDFのURLを変更できます。別のPDFへ変更する場合は、YOUR_PDF_URLを新しいPDFのURLへ置き換えます。
style.cssではサンプル全体の最大横幅や余白、背景色、ボタンのサイズや色、ツールチップの横幅、ボタンとの間隔、背景色、角丸、PDF表示エリアの高さ、表示切り替え時間などを変更できます。
数値調整
style.css
max-width:700px;
サンプル全体の最大横幅です。値を大きくすると全体が横に広がり、小さくするとコンパクトになります。
margin:40px auto;
サンプル全体の上下余白です。40pxを大きくすると上下の間隔が広がり、小さくすると狭くなります。
padding:32px;
サンプル全体の内側余白です。値を大きくすると内容と外枠の間隔が広がり、小さくすると狭くなります。
border-radius:18px;
サンプル全体の角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
font-size:22px;
タイトルの文字サイズです。値を大きくすると文字が大きくなり、小さくすると小さくなります。
margin:0 0 30px;
説明文の下側余白です。30pxを大きくするとボタンとの間隔が広がり、小さくすると狭くなります。
padding:14px 30px;
「PDFを確認」ボタンの内側余白です。14pxは上下、30pxは左右の余白です。値を大きくするとボタンが大きくなります。
border-radius:10px;
ボタンの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
bottom:calc(100% + 14px);
ボタンとツールチップの間隔です。14pxを大きくするとツールチップがボタンから上方向へ離れます。
width:520px;
ツールチップの基本横幅です。値を大きくするとPDFの表示領域が横に広がり、小さくすると狭くなります。
padding:14px;
ツールチップ内部の余白です。値を大きくするとPDFとツールチップ外周との間隔が広がります。
border-radius:12px;
ツールチップの角丸です。値を大きくすると丸みが強くなります。
border:7px solid transparent;
ツールチップ下部に表示する三角形の大きさです。7pxを大きくすると三角形が大きくなり、小さくすると小さくなります。
transition:opacity .3s ease, visibility .3s ease;
ツールチップの表示切り替え時間です。.3sは0.3秒を表します。値を大きくするとゆっくり、小さくすると速く切り替わります。
height:360px;
PDF表示エリアの通常時の高さです。値を大きくするとPDFを表示する範囲が高くなり、小さくすると低くなります。
border-radius:8px;
PDF表示部分の角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
@media (max-width:640px)
画面幅に応じてスタイルを切り替える基準です。このサンプルでは640px以下になると、全体の内側余白、ツールチップの横幅、PDF表示エリアの高さを変更します。
height:300px;
画面幅640px以下で使用するPDF表示エリアの高さです。値を変更すると狭い画面でのPDF表示領域の高さが変わります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:700pxによって、画面幅に合わせてサンプル全体が縮小されます。ツールチップにはmax-width:calc(100vw - 48px)を指定し、画面幅を超えて横方向へ広がりにくい構成にしています。
画面幅640px以下では、全体の内側余白を24px 18px、ツールチップの横幅をcalc(100vw - 64px)、PDF表示エリアの高さを300pxへ変更します。これにより、スマートフォン・タブレット・PCの画面幅に合わせてPDFツールチップの大きさを調整できます。
コメント