PDFをドロワーメニューで表示する方法
PDFをドロワーメニューで表示する方法を紹介します。PDFをページ内へ埋め込むことで、利用者は別のページへ移動したりファイルをダウンロードしたりせずに、資料の内容を確認できます。本記事では、HTML・CSS・JavaScriptだけを使い、ボタンをクリックすると画面左側からドロワーメニューが開き、その中へPDFを表示する仕組みを実装します。
サンプルコードでは、「PDFを表示」ボタンをクリックすると背景オーバーレイとドロワーメニューが表示され、iframe内でPDFを確認できます。「閉じる」ボタンまたはドロワーメニュー外側の背景をクリックすると閉じられます。iframeのsrc属性を書き換えることで、表示するPDFファイルを変更できます。
会社案内、利用規約、商品カタログ、操作マニュアル、申込書などを、企業サイトや会員サイト、ECサイト、管理画面から確認できるようにしたい場合に利用できます。HTMLではPDFファイルのURLや表示文言を変更でき、CSSではドロワーメニューの幅、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>
<!-- デモ全体 -->
<div class="pdf-drawer-menu_wrap">
<!-- タイトル -->
<h1 class="pdf-drawer-menu_title">
PDFをドロワーメニューで表示
</h1>
<!-- 説明文 -->
<p class="pdf-drawer-menu_text">
ボタンをクリックすると、ドロワーメニュー内にPDFを表示できます。
</p>
<!-- ドロワーメニューを開くボタン -->
<button
class="pdf-drawer-menu_open"
type="button"
data-drawer-open>
PDFを表示
</button>
</div>
<!-- ドロワーメニュー表示時の背景 -->
<div
class="pdf-drawer-menu_overlay"
data-drawer-overlay>
<!-- ドロワーメニュー本体 -->
<div
class="pdf-drawer-menu_drawer"
role="dialog"
aria-modal="true"
aria-labelledby="pdf-drawer-menu-title">
<!-- ドロワーメニューのタイトル -->
<div
class="pdf-drawer-menu_drawer-title"
id="pdf-drawer-menu-title">
PDF表示エリア
</div>
<!-- ドロワーメニューの説明文 -->
<p class="pdf-drawer-menu_drawer-text">
ドロワーメニュー内でPDFを確認できます。
</p>
<!-- PDF表示エリア -->
<div class="pdf-drawer-menu_pdf">
<!--
PDF
src属性へ表示したいPDFファイルのURLを指定する。
PDFファイルは各自で用意し、
WebサーバーへアップロードしたPDFのURLを設定する。
-->
<iframe
src=""
title="PDF sample"
loading="lazy">
</iframe>
</div>
<!-- ドロワーメニューを閉じるボタン -->
<button
class="pdf-drawer-menu_close"
type="button"
data-drawer-close>
閉じる
</button>
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLでドロワーメニュー、PDF表示用のiframe、開くボタン、閉じるボタンを作成し、CSSでドロワーメニューの配置やサイズ、背景オーバーレイ、PDF表示領域を設定します。JavaScriptでは、ボタン操作と背景クリックによるドロワーメニューの開閉を行います。
表示するPDFファイルは利用者が各自で用意します。用意したPDFをWebサーバーやWordPressのメディアライブラリへアップロードし、取得したPDFファイルのURLをindex.html内にあるiframeのsrc属性へ設定します。src属性が空の状態ではPDFは表示されません。
各ファイルを同じsampleフォルダへ配置し、PDFのURLを設定したあとにindex.htmlをブラウザで開くと動作を確認できます。特別な外部ライブラリやサーバー側の処理は使用せず、HTML・CSS・JavaScriptだけで実装できます。
sample/
├── index.html
├── style.css
└── script.js
各ファイルの役割
index.html
ドロワーメニュー本体、PDFを表示するiframe、開くボタン、閉じるボタンを記述します。iframeのsrc属性へPDFファイルのURLを指定すると、ドロワーメニュー内にPDFが表示されます。iframeのtitle属性も、表示するPDFの内容に合わせて変更できます。
style.css
ドロワーメニューの横幅、背景色、余白、影、背景オーバーレイ、PDF表示領域の高さ、枠線、角丸、表示アニメーションを設定します。
script.js
「PDFを表示」ボタンでドロワーメニューを開き、「閉じる」ボタンまたは背景部分のクリックで閉じる処理を記述します。
設置方法・使い方
① sampleフォルダを作成します。
② sampleフォルダ内へindex.html・style.css・script.jsを配置します。
③ 表示したいPDFファイルを用意します。
④ PDFファイルをWebサーバーまたはWordPressのメディアライブラリへアップロードします。
⑤ アップロードしたPDFファイルのURLを取得します。
⑥ index.html内のPDF表示用iframeにあるsrc属性へ、取得したPDFのURLを貼り付けます。
⑦ iframeのtitle属性を、表示するPDFの内容が分かる文字へ変更します。
⑧ sample/index.htmlをブラウザで開きます。
⑨ 「PDFを表示」ボタンをクリックすると、指定したPDFがドロワーメニュー内に表示されます。
⑩ 「閉じる」ボタンまたは背景部分をクリックするとドロワーメニューが閉じます。
カスタマイズできる内容
・index.htmlのiframeにあるsrc属性を変更すると、表示するPDFファイルを変更できます。
・index.htmlでは、タイトル、説明文、「PDFを表示」「閉じる」のボタン文字を変更できます。
・index.htmlのiframeにあるtitle属性は、表示するPDFの内容に合わせて変更できます。
・style.cssでは、ドロワーメニューの横幅、背景色、文字色、余白、影、PDF表示領域の高さ、枠線、角丸を変更できます。
・script.jsでは、開くボタン、閉じるボタン、背景クリックによる開閉処理を管理しています。
数値調整
・style.cssの「width:420px;」はドロワーメニューの横幅です。値を大きくすると広く、小さくすると狭くなります。
・style.cssの「height:520px;」はPDF表示領域の高さです。値を大きくするとPDFの表示領域が高くなり、小さくすると低くなります。
・style.cssの「animation:pdf-drawer-menu_slide .35s ease forwards;」にある「.35s」は、ドロワーメニューが左側から表示されるまでの時間です。値を大きくするとゆっくり、小さくすると速く表示されます。
・style.cssの「background:rgba(0,0,0,.5);」にある「.5」は背景オーバーレイの透明度です。値を1へ近づけると暗くなり、0へ近づけると明るくなります。
・640px以下の画面に指定している「height:420px;」を変更すると、スマートフォン表示時のPDF表示領域の高さが変わります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssでドロワーメニューに「max-width:90%;」、PDF表示用iframeに「width:100%;」と「height:100%;」を指定しているため、画面幅に合わせて表示サイズが調整されます。また、640px以下ではメディアクエリによってドロワーメニューの余白とPDF表示領域の高さを調整しています。スマートフォン・タブレット・PCで利用できます。
コメント