はじめに
PHP で条件分岐して違う HTML タグや文章を表示したい場合に、なるべくシンプルに HTML を書く方法を調べた。
TL;DR
<?php if (true) : ?>
<?php endif; ?>
のように:
とendif
を使う
PHP で条件分岐して違う HTML タグや文章を表示したい場合に、なるべくシンプルに HTML を書く方法を調べた。
<?php if (true) : ?>
<?php endif; ?>
のように :
と endif
を使うApache2 + PHP でウェブサーバを立てている状況で、非公開ディレクトリ(パブリックでないローカルのディレクトリ)の画像を読み込んで表示する方法を調べた。
※「画像は表示したいが、画像ファイル自体は公開ディレクトリに格納したくない」のような特殊なケース
<img>
の src
に画像を設定する
ツールチップを簡単に表示できる atomiks/tippyjs を触る機会があったので、簡単に使い方を整理した。
本記事は tippy v5 系を利用しているので、最新 v6 系(2020/08/01 現在)と挙動や設定が異なる可能性あり
tippy(<target>, { content: 'my tooltip' })
でツールチップを設定<target>
はセレクタ(#id
など)でも、Node(document.querySelector('#id')
など)でも OKcontent
に HTML も設定可能tippy(<target>, { content: '<strong>my tooltip</strong>' })
tippy(<target>, { content: 'my<br>tooltip', allowHTML: true })
theme: 'light
のように指定「画像クリックで拡大」を簡単に実現できる imgix/luminous を触る機会があったので、簡単に使い方を整理した。
デモページ を見ると、何ができるのかがすぐわかる。
npm i luminous-lightbox
でインストール<script src="https://cdnjs.cloudflare.com/ajax/libs/luminous-lightbox/2.3.2/luminous.min.js"></script>
<a href="拡大画像"><img src="サムネイル"></a>
に対して以下を実行new Luminous(document.querySelector('a'))
LuminousGallery
を使用new LuminousGallery(document.querySelectorAll('a'))
display
, visibility
プロパティについて簡単に整理した。
display: none;
⇔ display: block;
(flex
, etc…) で要素の 表示/非表示visibility: hidden;
⇔ visibility: visible;
で要素の 表示/非表示display: none;
も visibility: hidden;
も、アクセシビリティ(読み上げ)に影響が出る<img src="xxxx.png">
で xxxx.png
が 404 エラーとなったときに、デフォルトで代わりの画像を表示する方法をまとめた。
onerror="this.src = 'alt.png'; this.removeAttribute('onerror')"
を指定onerror
属性自身も削除onload="this.removeAttribute('onerror'); this.removeAttribute('onload');
も一緒に指定onerror
, onload
属性を消せる1 | <img src="404.png" |
※MDN によると onerror
は非推奨、ご利用は計画的に
yuki24/rambulance で動的なエラーページを表示する方法についてまとめた。
Gemfile
に gem "rambulance"
追加 → bundle
(or bundle install
) でインストールrails g rambulance:install
でセットアップconfig/initializers/rambulance.rb
に "例外" => "対応ファイル"
のペアを記述app/views/errors/対応ファイル.html.xxx
にエラーページの内容を記述/rambulance/対応ファイル
にアクセスすると、エラーページの内容が確認できる最近のサイトでよく見かける「このサイトでは 〜 Cookie を利用します」という表示を、osano/cookieconsent を用いて簡単に実現する方法について調べた。
jQuery Select2 で、選択肢に存在しない情報を動的に追加する方法を調べた。
ユーザー入力で一致する選択肢がある場合は既存選択肢を、そうでなければユーザー入力をそのまま選択肢として追加する、というイメージ。
tags: true
を指定すると選択肢を動的に追加できるcreateTag
で選択肢追加時の挙動を制御できるmultiple
の場合は複数選択しを追加できるjQuery Select2 で、ajax で選択肢を取得する方法方法を調べた。
ajax
オプション内で設定url
, data
オプションで API Request に関する設定processResults
オプションで API Response を受信した後の処理templateResult
, templateSelection
オプションで見た目(HTML)の設定