コーディングに役立つおすすめジェネレーター4選の紹介

以前の記事で便利なジェネレーター4選を紹介しましたが、Web制作を補助してくれるジェネレーターは他にもたくさんあります。今回は前回の記事では紹介しきれなかったジェネレーターを新たに4選ご紹介したいと思います。

過去記事:「面倒なコーディングを手軽に実装!便利なジェネレータ4選!

最初からジェネレーターに頼ってしまうのは、基礎が疎かになってしまうので良くないですが、勉強して理解したうえでなら、作業効率をあげるためにも活用した方が良いと思います。ぜひ皆さんの制作現場でも役立ててもらえればと思います。

1. Smooth Shadow


「Smooth Shadow」のスクリーンショット


https://shadows.brumm.af/

きれいなbox-shadowを作成できるジェネレーターです。通常、手入力でbox-shadowプロパティを使用する際は影を1つだけ指定すると思いますが、box-shadowは影を複数指定することが可能です。複数の影を指定することで、よりリアルなドロップシャドウを作ることができるのですが、手入力で調整するのは大変ですよね。このジェネレーターを使用すると重ねる影の枚数を調整したり、全体のぼかし具合をベジェ曲線で一括編集することができます。

いつものドロップシャドウとは違う印象にしたい、リアルなシャドウを表現したい場合はこのジェネレーターをおすすめします。

2. Clippy


「Clippy」のスクリーンショット


https://bennettfeely.com/clippy/

コンテンツを切り抜く(クリッピング)ことができるclip-pathを作成してくれるジェネレーターです。clip-pathプロパティを使用すると三角形や台形、ひし形など好みの形状をCSSのみで作成することができます。clip-pathの指定を手入力で行うのは大変なので、通常であればSVG画像を用意したりしますが、このジェネレーターを使用すると基本形状を選択して頂点移動をするだけでコードを作成することができます。

背景画像はClippyを使用して簡単に切り抜くことができるので、今まで試したことがない方はぜひ使用してみてください。

3. Dashed Border Generator


「Dashed Border Generator」のスクリーンショット


https://codepen.io/amit_sheen/pen/xxZeyjO

CSSで点線や破線のボーダーを作成できるジェネレーターです。しかし、ボーダーといってもborderプロパティではなくbackgroundプロパティを使用した方法になります。borderプロパティでも点線(dotted)や破線(dashed)は作成できますが、点線や破線のサイズや長さを調整することはできません。backgroundを使用することで、borderよりも自由度の高い破線や点線を表現することができます。しかし、このbackground指定を手入力で行うのはかなり大変なので、構造を理解したうえでジェネレーターを活用するとよいでしょう。

4. Easings


「Easings」のスクリーンショット


https://easings.co/

CSSアニメーションに緩急をつけるイージング設定を、実際の動きを見ながら作成できるジェネレーターです。ボタンのhover変化やカルーセルスライダーのアニメーションを設定する際は、通常transitionプロパティを使用しますが、transitionのイージングには「linear」「ease」「ease-in」など全部で5種類しかありません。もっとメリハリのある動きにしたい場合は、cubic-bezier(3次ベジェ曲線)を使用することで設定できますが、数値入力で調整する必要があり、かなり大変です。このジェネレーターはあらかじめ用意された様々なイージング設定を、カルーセルやサイドメニューといったサイトUIで動作確認できるのが非常に便利です。「linear」や「ease」の動きが退屈だなと思う方はぜひ試してみてください。

おわりに

今回はコーディングに役立つジェネレーターを紹介しました。
使用すれば時短になってとても便利ではありますが、冒頭でも述べた通り、始めからジェネレーターに頼ることはおすすめしません。コードをいちから書ける必要はないですが、少なくとも構造を理解したうえで利用した方が、あとで修正を加えたい時やきちんと表示されなかった時の解決が早くなります。
基本を理解したうえで作業を効率化するためにうまく活用していきましょう。

【slick】YouTubeのサムネイル付きスライダーの作り方

企業のコーポレートサイトのメインビジュアルや、商品ページの画像など、スライダーを使ったUIは2023年現在でも多く見受けられます。スライダーはページの速度を低下させることもありますが、ファーストビューで多くの情報を伝えられるというメリットもあります。

そんな中でも今回はYouTubeのスライダーをサムネイルのナビゲーション付きで実装する方法をご紹介します。昨今は動画コンテンツの重要性もますます高くなってきているため、スライダーに組み込む方法を知っておくと良いでしょう。

1. 準備するもの

スライダーの実装には、jQueryのプラグインを使います。その中でも、最もユーザー数が多くカスタマイズも柔軟にできる「slick」というプラグインを使います。

slickの基本的な使い方は過去の記事で紹介しているので、そちらを参考にしてください。
「画像スライダープラグイン「slick」の使い方」

slickはローカルにファイルをダウンロードする方法とオンラインのファイルを使う方法(CDN)があります。今回はCDNを使う方法で説明します。

2. 手順

完成イメージは以下です。

2-1. HTMLに必要なコードを追加する

まずは以下のようなHTMLを用意します。画像は任意の画像でOKです。

<div class="slider">
	<div><img src="https://picsum.photos/id/236/720/360" alt=""></div>
	<div><img src="https://picsum.photos/id/237/720/360" alt=""></div>
	<div><img src="https://picsum.photos/id/238/720/360" alt=""></div>
	<div><img src="https://picsum.photos/id/239/720/360" alt=""></div>
	<div><img src="https://picsum.photos/id/240/720/360" alt=""></div>
</div>
<div class="slider-nav">
	<div><img src="https://picsum.photos/id/236/300/200" alt=""></div>
	<div><img src="https://picsum.photos/id/237/300/200" alt=""></div>
	<div><img src="https://picsum.photos/id/238/300/200" alt=""></div>
	<div><img src="https://picsum.photos/id/239/300/200" alt=""></div>
	<div><img src="https://picsum.photos/id/240/300/200" alt=""></div>
</div>

また、<head>タグ内に以下を記述します。

<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>

続いて</body>タグ直前行に以下を記述します。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>

2-2. JSファイルを作成する

JSファイルを作成します。このJSに必要なオプションを記述することで、スライダーのスピードや、ナビゲーションの有無などをカスタマイズすることが可能です。

$(function(){
  $('.slider').slick({  //スライダー本体
    dots: false,          //ドットは非表示に
    arrows: false,        //矢印も非表示に
  });
  $('.slider-nav').slick({  //サムネイル側
	dots: false,              //サムネイル側のドットも非表示に
    arrows: true,             //サムネイル側の矢印は有効に
    prevArrow: '<img src="arrow-left.png" class="slide-arrow prev-arrow" />',//「前のスライド」ボタンを左矢印アイコンに変更。class名「prev-arrow」を追加。
    nextArrow: '<img src="arrow-right.png" class="slide-arrow next-arrow" />',//「前のスライド」ボタンを右矢印アイコンに変更。class名「next-arrow」を追加。
    asNavFor: '.slider',      //.sliderのナビゲーションとして使用するオプション
    slidesToShow: 3,          //表示するスライド数
    focusOnSelect: true,      //クリックでスライドを選択できるようになる
  });
});

その他のオプションについてはslick公式サイトの「settings」をご参照ください。

HTMLに以下を記述し、JSを読み込みます。

<script src="slider.js"></script>

この時点で以下のような簡易的なスライダーができていると思います。まだスタイルはあたっていません。サムネイルをクリックしてスライダー本体も切り替わることを確認してみてください。



こちらのslider本体にYouTubeの埋め込みリンク、サムネイル部分にYouTubeサムネイル画像を設定することで、サムネイル付きのYouTubeスライダーが実現できます。

次はYouTubeにアクセスし、埋め込み用コードを取得します。

2-3. YouTube動画の埋め込み用コードとサムネイルを取得する

■埋め込み用コードの取得
以下の手順で取得できます。

動画URLにアクセス > 共有 > 埋め込む > URLをコピー



■YouTubeサムネイルの取得
以下のサイトに動画URLを入力することででサムネイルが生成できます。
「YoutubeサムネイルURL取得」

今回は「320×180」のものを使用します。

2-4. HTMLに埋め込み用コードとサムネイルを記述する

sliderクラスの<img>タグを埋め込み用コードに差し替え、slider-navクラスの<img>をYouTubeのサムネイルに差し替えます。

<div class="slider">
  <div><iframe width="560" height="315" src="https://www.youtube.com/embed/-3echUj1GrM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
  <div><iframe width="560" height="315" src="https://www.youtube.com/embed/REyqibYs1Fg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
  <div><iframe width="560" height="315" src="https://www.youtube.com/embed/_sDRktNsS4M" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
  <div><iframe width="560" height="315" src="https://www.youtube.com/embed/M8lUJN0X9ok" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
  <div><iframe width="560" height="315" src="https://www.youtube.com/embed/wjoIiLiADLE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
</div>
<div class="slider-nav">
  <div class="item"><img src="http://img.youtube.com/vi/-3echUj1GrM/mqdefault.jpg" alt=""></div>
  <div class="item"><img src="http://img.youtube.com/vi/REyqibYs1Fg/mqdefault.jpg" alt=""></div>
  <div class="item"><img src="http://img.youtube.com/vi/_sDRktNsS4M/mqdefault.jpg" alt=""></div>
  <div class="item"><img src="http://img.youtube.com/vi/M8lUJN0X9ok/mqdefault.jpg" alt=""></div>
  <div class="item"><img src="http://img.youtube.com/vi/wjoIiLiADLE/mqdefault.jpg" alt=""></div>
</div>  

再読込して以下のようになっているのを確認してください。

2-5.デザインを整える

最後にデザインを整えて、完成です。

/* スライダーのスタイル */

.slider {
    text-align: center;
}

/* ナビゲーションのスタイル */

.slider-nav {
    width: 80%;
    margin: 30px auto 0 auto;
}

.slider-nav .slick-list img {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
}

.prev-arrow {
    position: absolute;
    top: 100px;
    left: -40px;
}

.prev-arrow:hover {
	cursor: pointer;
}

.next-arrow {
    position: absolute;
    bottom: 100px;
    left: unset;
    right: -40px;
}

.next-arrow:hover {
    cursor: pointer;
}

おわりに

今回はYouTubeのサムネイルつきスライダーの実装方法を紹介しました。
今回実装したもの以外にも、slickには多くのオプションが用意されており、様々なバリエーションのスライダーが実装できます。
Web上でもコードを交えた実例をたくさん確認することができるので、フェードするスライダーやレスポンシブ対応のスライダーなど色々なスライダーを実装してみてください。

【商用利用可】シンプルで使いやすい!フリーイラスト素材サイトまとめ

デザイン制作においてイラストを取り入れることは、情報をより伝えやすくしたり、印象をガラッと変えたり、華やかさを加える手段として有効です。
ただ、イラスト素材は画像素材よりも製作物の求めるイメージに合わせることが重要なため、様々なテイストのイラスト素材をストックしておくといざというときに便利です。
そんな中でも、今回は使いやすさを重視したシンプルなフリーイラストを提供しているサイトをいくつかご紹介します。

 

1. Loose Drawing

Loose Drawingは、キレイめな手書き風のイラストが特徴的です。
ありそうでなかなか見つけられなかった!というような珍しいシチュエーションのイラストが多く用意されています。
5色のカラー展開と、線画のみのパターンから選択できます。



 
配布形式:PNG

利用規約:https://loosedrawing.com/contact/

 

2. ソコスト

ソコストは、柔らかくかわいらしさも感じる魅力的なイラストが揃っています。
イラストのテーマカラーをカラーコードで変更することができるうえに、線画のみと線画なしのパターンも選択できるのでかなり使い勝手がよいです。



 
配布形式:PNG / SVG / EPS

利用規約:https://soco-st.com/guide

 

3. Linustock

Linustockは、現場の生の声から「加工しやすい」「使いやすい」「見つけやすい」を追求して作られたサイトです。
線のみで白黒のシンプルでオシャレなイラストが多数揃っています。
加工のしやすさに重点を置いており、パスもアウトライン化されていないのが特徴です。



 
配布形式:PNG / EPS

利用規約:https://www.linustock.com/termsofuse

 

4. 凡デザイン

凡デザインは、一筆書きのようなラフな雰囲気の線画イラストが揃っています。
「ビジネス」や「スポーツ」など、汎用性の高いカテゴリーからイラストを探すことができます。



 
配布形式:PNG

利用規約:https://bon.design/guide/

 

5. SASHIE

SASHIEは、「シンプルでクセのない主張を抑えたトーン」を目指したイラストが用意されています。
ポーズや表情、シチュエーションがとてもユニークなイラストが特徴的です。



 
配布形式:PNG / SVG

利用規約:https://sashie.org/terms-of-use/

 

6. Tech Pic

Tech Picは、その名の通りテック系のイラスト素材サイトです。
自動運転車やIoT家電など、なかなか見つけづらい近未来のアイテムのイラストが多数用意されています。



 
配布形式:PNG

利用規約:http://tech-pic.com/agreement

 

おわりに

今回は、商用利用可能なシンプルで使いやすいフリーイラスト素材サイトをご紹介しました。
気になるものがあれば、ぜひブックマークしておくことをおすすめします。
イラストを使用する際は必ず利用規約を読み、利用規約に反しない形で使用しましょう。

【WordPress】セキュリティプラグイン SiteGuard WP Pluginの使い方

WordPressサイトを構築する際、セキュリティ対策はちゃんと考えていますか?
初心者でも簡単にWebサイトを作ることができることから世界的に多く利用されているWordPressですが、多く利用されているということは悪意を持った第三者のターゲットになりやすいということでもあります。
主なセキュリティ対策としてWordPress本体及び、プラグインを最新のバージョンに保つなどいくつかありますが、今回はセキュリティプラグイン「SiteGuard WP Plugin」を紹介したいと思います。

1. SiteGuard WP Pluginとは

SiteGuard WP PluginとはWordPressにインストールするだけでサイトのセキュリティを向上させることができるプラグインです。
機能ごとに詳細な設定をすることができるので、自分に必要な機能だけ有効化することも可能です。

2. 機能紹介

SiteGuard WP Pluginには以下の機能があります。

管理ページアクセス制限 ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。
ログインページ変更 ログインページ名を変更します。
画像認証 ログインページ、コメント投稿に画像認証を追加します。
ログイン詳細エラーメッセージの無効化 ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。
ログインロック ログイン失敗を繰り返す接続元を一定期間ロックします。
ログインアラート ログインがあったことを、メールで通知します。
フェールワンス 正しい入力を行っても、ログインを一回失敗します。
XMLRPC防御 XMLRPCの悪用を防ぎます。
ユーザー名漏えい防御 ユーザー名の漏えいを防ぎます。
更新通知 WordPress、プラグイン、テーマの更新が必要になった場合に、管理者にメールで通知します。
WAFチューニングサポート WAF (SiteGuard Lite)の除外ルールを作成します。
ログイン履歴 ログインの履歴が参照できます。

管理ページアクセス制限

管理ページに対する攻撃をブロックします。
ログインしていない接続元に、管理ページ(/wp-admin/以降)へのアクセスを 404 Not Found で返します。この機能を除外するパスを個別で設定することも可能です。
管理ページアクセス制限 – WebセキュリティのEGセキュアソリューションズ

ログインページ変更

ログインページ(/wp-login.php)のURLを変更します。
ログインユーザー名とパスワードの組み合わせを探る攻撃は、その大半が機械的に行われており、それはデフォルトのログインページに対して行われます。ログインページを変更することで、これらの攻撃の対象になる機会を減らすことができます。
ログインページ変更 – WebセキュリティのEGセキュアソリューションズ

画像認証

ログインページ、コメントページ、パスワード確認ページ、ユーザー登録ページに、「ひらがな」または「英数字」4桁による画像認証を追加します。
ユーザー名、パスワードを機械的、あるいは人的に探る攻撃を困難にします。
画像認証 – WebセキュリティのEGセキュアソリューションズ

ログイン詳細エラーメッセージの無効化

この機能は、ログイン失敗時に何が間違っているのかを知らせないように、すべて同じエラーメッセージにするものです。
デフォルトではログインに失敗すると、間違っているのはユーザー名なのか、パスワードなのか、あるいは、画像認証なのかをエラーメッセージで知ることができます。何気ないエラーメッセージですが、これは攻撃者への大きなヒントとなってしまうため、エラー文を全て同一にすることで不正アクセスを防止します。
ログイン詳細エラーメッセージの無効化 – WebセキュリティのEGセキュアソリューションズ

ログインロック

機械的なログイン試行をブロックする機能です。
同一接続元からの連続したログイン失敗を検出して、当該接続元からのログインをロックします。多くの接続元を使用する攻撃や、ゆっくりとした攻撃には効果がない場合があります。
ログインロック – WebセキュリティのEGセキュアソリューションズ

ログインアラート

ログインすると、ログインユーザーにメールが送信されます。
ログインした心当たりがないのにメールを受信した場合は、不正ログインを疑ってください。
ログインアラート – WebセキュリティのEGセキュアソリューションズ

フェールワンス

この機能は、ログインが成功する場合でも、一度失敗させて次の組み合わせの試行に進ませることで、攻撃をかわすことを目的としています。
フェールワンス – WebセキュリティのEGセキュアソリューションズ

XMLRPC防御

XML-RPCピンバックを利用したDDoS攻撃や、XML-RPCを利用したブルートフォース攻撃から防御します。
XMLRPC防御 – WebセキュリティのEGセキュアソリューションズ

ユーザー名漏えい防御

“?author=数字”のアクセスによるユーザー名の漏えいを防止します。
ユーザー名とパスワードの組み合わせでログインしますが、ユーザー名が分かると後はパスワードだけですので、攻撃者はパスワードの推測に専念できます。ユーザー名は伏せておいた方が安全です。
ユーザー名漏えい防御 – WebセキュリティのEGセキュアソリューションズ

更新通知

WordPress、プラグイン、テーマについて、更新情報がある場合に、メールでお知らせします。
メールは管理者になっているユーザー宛に送信されます。
更新通知 – WebセキュリティのEGセキュアソリューションズ

WAFチューニングサポート

WebサーバーにJP-Secure製WAF SiteGuard Server Editionが導入されていて、正常なアクセスがWAFによって遮断されてしまう場合に、それを回避するルールを作成することができます。
WAFチューニングサポート – WebセキュリティのEGセキュアソリューションズ

ログイン履歴

どのユーザーがいつログインしたのかが履歴となって残ります。

3. 導入方法

導入方法は至ってシンプルです。
①WordPress管理画面「プラグイン」より「新規追加」をクリック
②キーワードに「SiteGuard WP Plugin」と入力
③プラグインが表示されたら「今すぐインストール」→「有効化」

インストールした段階で基本的な設定はされているので、あとは自分にとって必要、不要だと思う項目をON/OFFすれば完了です。

おわりに

今回は手軽にWordPressサイトのセキュリティ強化ができるプラグイン「SiteGuard WP Plugin」を紹介しました。
細かな設定が分からないWordPress初心者でも、インストールするだけで最低限のセキュリティ強化が可能なとても優秀なプラグインです。
WordPressインストール時に最初にインストールするプラグインとして覚えておいても良いのではないのでしょうか?
セキュリティ問題を起こしてしまってからでは取り返しがつかないので、そうなる前に可能な限り対策しておきましょう。

コーディング学習に使える!おすすめCSSフレームワーク

コーディングをする時「このHTMLタグの組み方でいいのだろうか?」「どのように組むのがベストなんだろう?」と疑問に思うことがありますよね。どんな業界・業種でもWebサイトを構成するパーツは共通なのに、毎回イチから考えて作るのは効率が悪いです。

優れたデザインのサイトを参考にソースコードを調べていくのもありですが、ひとつひとつ確認していくのは大変です。すでに多く利用されているパターンがあるのであれば、それを参考にするのが一番ですよね。そこでオススメする学習方法が「CSSフレームワーク」です。

「CSSフレームワーク」にはサイトでよく使用される共通パーツがコンポーネント集としてまとまっており、各パーツの書き方を学習するには一番お手軽な方法かと思います。今回はそんな学習に役立つCSSフレームワークを紹介したいと思います。

1. CSSフレームワークとは

「CSSフレームワーク」とは、Webサイトに必要なパーツがあらかじめ揃ったパーツ集のようなものです。見出しやボタンといった基本パーツから、アコーディオンやフォーム、モーダルといったものまでテンプレートとして用意されています。それらのパーツを組み合わせることで、手軽にキレイなサイトが作れるようになっています。

CSSフレームワークのサイトには各パーツの使い方をまとめたドキュメントページが用意されており、そこにはHTMLのサンプルコードが記載されています。現在はレスポンシブ対応も踏まえたHTML構成になっていることが多いため、拡張性の高い書き方を手軽に学習することができます。また、class名の付け方などもコーディングで迷うポイントなので参考にすることができます。

※ CSSフレームワークを利用したサイトは類似したデザインになりやすく、会社サイトやサービスサイトを作るのには向いていません。デザイナーが不在の場合や、一般ユーザーが目にすることのない社内管理システムなどで利用されるケースがよくあります。

2. CSSフレームワークの紹介

今回はコーディング学習用としての紹介ですので、導入方法などの説明は割愛します。

2-1. Bootstrap

Bootstrapのスクリーンショット

Twitter社が開発したCSSフレームワークです。世界でも人気のCSSフレームワークで、名前は知らなくてもデザインはどこかで見たことがある、という方もいるのではないでしょうか。

Bootstrapのドキュメントページはこちら。
https://getbootstrap.jp/docs/5.0/getting-started/introduction/

Bootstrapのスクリーンショット

左サイドバーにカテゴリー別にパーツが紹介されています。他のCSSフレームワークと比較してもBootstrapのドキュメントは見やすく整理されており、日本語対応しているので読みやすいです。学習するのにいくつか参考になるパーツを紹介します。

カード

Bootstrap「カード」のスクリーンショット

「お知らせ」等でよく使われるカードレイアウトです。このような定番パーツのコードは、どのCSSフレームワークでもほぼ同じ構成となっているので、最初にBootstrapで基本の型を学習しておくのがオススメです。class名の付け方もBEMに変換しやすく参考になります。

アコーディオン

Bootstrap「アコーディオン」のスクリーンショット

「よくある質問と回答」等で使われるアコーディオンです。サイトで使用する頻度は高いですが、イチから作ろうとすると少々手間がかかるパーツです。ただし、デザインが変わっても構造はほぼ変わらないので、一度作れば流用が可能なパーツでもあります。こちらもBootstrapを基本の型として学習しておくのがオススメです。

フォーム

Bootstrap「フォーム」のスクリーンショット

お問い合わせフォームはほとんどのWebサイトで必要となりますが、入力項目次第でレイアウトが複雑になったり、デザイン次第で装飾用コードが必要になったりと、どのように書くのが良いのか迷いますよね。Bootstrapのコードはレスポンシブ対応で且つシンプルな構成となっているので、このコードを基本にアレンジしていくと良いでしょう。

2-2. Bulma

Bulmaのスクリーンショット

Bulmaはグリッドシステムを搭載したJavaScript無しのシンプルなフレームワークです(BootstrapはjQueryが組み込み済み)Bootstrapと比べるとモダンなデザインで丸みがあり可愛らしいです。
ドキュメントページは英語ですがパーツごとにカテゴライズされて読みやすくなっています。

Bulmaのドキュメントページはこちら。
https://bulma.io/documentation/

2-3. Foundation

Foundationのスクリーンショット

Foundationはあらゆるデバイスで美しいWebサイトが簡単に設計できるCSSフレームワークです。

Foundationのドキュメントページはこちら。
https://get.foundation/sites/docs/

2-4. Semantic UI

Semantic UIのスクリーンショット

Semantic UIはデザイン性が高く、簡潔なHTMLと直感的なclass名で特徴のCSSフレームワークです。

Semantic UIのドキュメントページはこちら。
https://semantic-ui.com/introduction/getting-started.html

3. おわりに

今回はコーディング学習に使えるCSSフレームワークを紹介しました。
各パーツの基本の組み方さえ理解してしまえば、コーディングのスピードは大きく上げることができます。Bootstrapだけでも一通り学習できると思いますが、これが正解!というものはありませんので、色々なCSSフレームワークに触れて自分にあった設計思想を取り込んでいきましょう。

【CSS】フォーム要素の色をたった一行で変更できる「accent-color」

フォーム要素のラジオボタンやチェックボックスの色を、デフォルトから変更したいと思ったことはありませんか?
デフォルトのデザインを活かしつつ色だけを変更したいというときには、たった一行「accent-color」プロパティを記述することで簡単に実装できます!

今回は「accent-color」を使ってフォーム要素の色を変更する方法をご紹介します。

1. accent-colorとは?

accent-colorは、フォーム要素の色を変更できるcssプロパティで、以下の4つのフォーム要素がサポート対象になっています。

 ・チェックボックス
 ・ラジオボタン
 ・レンジスライダー
 ・プログレスバー

ブラウザ対応状況


2022年11月現在「Can I use」によると、ほとんどのブラウザで対応していますが、比較的新しいcssプロパティのため対応していないバージョンもあります。

2. 基本的な使い方

accent-color: 任意のカラー;

使い方はとてもシンプルで、適用したい要素にこの一行を記述するだけです。
以下、4つのフォーム要素をデフォルトと比較しながら色の変化を詳しく見ていきましょう。
※Chrome 107での表示結果を掲載しています

チェックボックス

<!--デフォルト-->
<label for="default">
	デフォルト
	<input type="checkbox" checked> 
</label>
<!--色変更-->
<label for="accented">
	色変更
	<input type="checkbox" class="accented" checked> 
</label>
.accented {
	accent-color: red;
}

ラジオボタン

<!--デフォルト-->
<label for="default">
	デフォルト
	<input type="radio" checked> 
</label>
<!--色変更-->
<label for="accented">
	色変更
	<input type="radio" class="accented" checked> 
</label>
.accented {
	accent-color: green;
}

レンジスライダー

<!--デフォルト-->
<label for="default">
	デフォルト
	<input type="range"> 
</label>
<!--色変更-->
<label for="accented">
	色変更
	<input type="range" class="accented"> 
</label>
.accented {
	accent-color: pink;
}

プログレスバー

<!--デフォルト-->
<label for="default">
	デフォルト
	<progress max="100" value="50">50%</progress>
</label>
<!--色変更-->
<label for="accented">
	色変更
	<progress max="100" value="50" class="accented">50%</progress>
</label>
.accented {
	accent-color: yellow;
}

おわりに

今回は「accent-color」を使ってフォーム要素の色を変更する方法をご紹介しました。

現在(2022年11月時点)はこの記事でご紹介した4つの要素に限定されますが、今後のアップデートで増えることを期待したいですね。

【WordPress】functions.phpでCSSとJavaScriptを読み込む方法

WordPressのオリジナルテーマを作成する際、CSSやJavaScriptファイルをどこで読み込んでいますか?WordPressを勉強したての方は、HTMLの時と同じように ヘッダー用テンプレートファイル(header.php)の<head>要素内に直接リンクを記述しているという方が多いのではないでしょうか。

しかし、WordPressの公式マニュアルには「ヘッダーテンプレートにテーマのスタイルシートをリンクしないでください」と記載されており、functions.php の中で wp_enqueue_style( )wp_enqueue_script( ) を使用して読み込むことが推奨されています。

WordPressを勉強したての方がつまづきやすいポイントでもあるかと思うので(私もそうでした)、今回は functions.php でのCSS、JavaScriptの読み込み方について紹介したいと思います。

1. header.phpでの読み込みの問題

そもそもheader.phpでの読み込みは何が問題なのでしょうか?HTMLの時と同じように<head>要素からリンクしても、サイトの見た目は問題なく表示されますよね。

例)<head>での読み込み

<head>
  〜
  <link rel="stylesheet" href="css/style.css">
  <script src="js/style.js"></script>
</head>

しかし、表面上では問題なくても裏側では問題が発生している可能性があります。

例えば、WordPressプラグインの中にはインストールして有効化した際に、外部のJavaScriptライブラリを使用している場合があります。header.phpで同じライブラリを読み込んでいた場合、ファイルが重複や競合をしてしまい、プラグインが正しく動作しなくなる恐れが出てきます。

また、JavaScriptを</body>直前で読み込みたい場合は、header.phpではなくfooter.phpに記述する必要が出てきます。このようにテンプレートファイルに直接記述する形だと、読み込ませたい位置にリンクを追加していくことになり、あとでファイルの追加や削除が発生した際にすべてのファイルを修正する必要があるなど、メンテナンス性の低下が問題となってきます。

2. functions.phpでの読み込み

公式が推奨するfunctions.phpでの読み込みでは、同じファイルの重複や競合を回避したり、JavaScriptの読み込み位置も変更することが可能です。また、CSSやJavaScriptを一元管理できるのでメンテナンス性も大きく向上します。

以下はfunctions.phpでCSSやJavaScriptを読み込む場合の記述例になります。

function add_link_files() {

  // CSSの読み込み
  wp_enqueue_style( 'common', get_stylesheet_directory_uri().'/css/common.css' );
  wp_enqueue_style( 'my-style', get_stylesheet_directory_uri().'/css/style.css', array('common'));

  // JavaScriptの読み込み
  wp_enqueue_script( 'my-script', get_template_directory_uri().'/js/script.js', array('jquery'), false, true );
}
add_action( 'wp_enqueue_scripts', 'add_link_files' );

「wp_enqueue_style( )」 と「wp_enqueue_script( )」は単体では使うことができないため、まず「add_link_files(名前は任意)」という関数にまとめます。そして10行目の「add_action( ’wp_enqueue_scripts’, ‘関数名’ ); 」というアクションフックに関数名を記述することで読み込ませることが可能になります。

ここからはCSS、JavaScriptを読み込むための関数について紹介します。

2-1. CSSの読み込み(wp_enqueue_style)

CSSの読み込みには「wp_enqueue_style( )」という関数で記述します。

wp_enqueue_style( $handle, $src, $deps, $ver, $media );
引数 説明 初期値
$handle ハンドル名(任意の名前)。他のCSSファイルの名前と重複しないように設定します。 なし
$src CSSファイルの参照パス。 空文字列
$deps
(省略可)
依存関係のあるファイル。このファイルより事前に読む込む必要があるファイルをハンドル名($handle)で設定します。
配列で記述するので複数設定することが可能です。
array( )
$ver
(省略可)
バージョン番号。CSSファイルの末尾に付きます。 false
$media
(省略可)
メディア属性。 all

2-2. JavaScriptの読み込み(wp_enqueue_script)

JavaScriptの読み込みは「wp_enqueue_script( )」という関数で記述します。

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
引数 説明 初期値
$handle ハンドル名(任意の名前)。他のJSファイルの名前と重複しないように設定します。 なし
$src JSファイルの参照パス。 false
$deps
(省略可)
依存関係のあるファイル。このファイルより事前に読む込む必要があるファイルをハンドル名($handle)で設定します。
配列で記述するので複数設定することが可能です。
array( )
$ver
(省略可)
バージョン番号。JSファイルの末尾に付きます。 false
$in_footer
(省略可)
読み込み位置の設定。<head>に配置する場合はfalse、</body>直前に配置する場合はtrueを指定します。 false

スクリプトを実行するタイミングは基本的にHTMLの読み込みが完了してからの方が望ましいので、$in_footerの値をtrueにして</body>直前で読み込むようにしましょう。

2-3. 特定のページに読み込み

CSSやJavaScriptを特定のページにのみ読み込ませたい場合もありますよね。その場合は下記のようにページの条件分岐タグで対応することができます。

条件分岐の記述例

function add_link_files() {

  // コンタクトページでのみ読み込み
  if ( is_page('contact') ) {
	wp_enqueue_style('flow', get_stylesheet_directory_uri().'/css/flow.css');
  }
  // エラーページでのみ読み込み
  if ( is_404() ) {
    wp_enqueue_script('reload', get_template_directory_uri().'/js/reload.js', false, true);
  }
}
add_action( 'wp_enqueue_scripts', 'add_link_files' );

おわりに

今回はfunctions.phpでCSSとJavaScriptを読み込む方法について紹介しました。
WordPressを勉強したての方にとっては、いきなりfunctions.phpに触れるのは少し抵抗があるかもしれませんが、WordPressを使用する上で必須の知識となりますので、しっかり身に付けておきましょう。
また、functions.phpは不要なコードを削除してサイトを軽量化したり(過去記事を参照)、プラグインをカスタマイズするなど、今後も利用する機会が多くあります。あまり触れてこなかった…という方は、今回の記事をきっかけに試していただけたら幸いです。

Macユーザー必見!Mac純正カラーピッカー「Digital Color Meter」の使い方

ネットサーフィンをしているとき、この色素敵!カラーコードを知りたい!と思ったことはありませんか?
そんな時カラーピッカーを使えば、すぐにカラーコードを取得することができます。

専用のアプリやChromeの拡張機能などにもカラーピッカーはありますが、Macには最初からカラーピッカーアプリが入っていたことはご存知でしたか?
今回はMacに標準搭載されているDigital Color Meterをご紹介します。

1. Digital Color Meterの使い方

1-1. Spotlightで「Digital Color Meter」と検索

Command+スペースキーのショートカットでSpotlightを起動し、そこに「Digital Color Meter」と入力してアプリを開きます。

1-2. カラーコードを読み取る

アプリが起動すると画像のようなウィンドウが表示されます。
カラーコードを取得したいピクセルの上にポインタを移動しCommand+Shift+Cを入力すると、クリップボードにカラーコードをコピーすることができます。

2. Digital Color Meterをもっと使いやすくする方法

デフォルトの状態ではカラーコードは10進数で取得されるようになっていますが、上部メニューの「表示」→「値を表示」→「16進」を選択すると、カラーコードを16進数でコピーすることができます。



また、RGBの設定も可能なのでお好みで設定しておきましょう。

おわりに

今回は、Mac純正カラーピッカーDigital Color Meterをご紹介しました。

ずっとMacを使っていたけど、こんなデフォルトアプリがあったなんて知らなかった…という人も多いのではないでしょうか。
とてもシンプルで使いやすいので、Macユーザーの方はぜひ活用していきましょう!

【XD】ステート機能を利用した簡単なスライダー作成方法

みなさんはWeb制作の際にXDは使っていますか?
デザイン作成においてWeb業界ではかねてよりPhotoshop、Illustratorがよく利用されていましたが、XDが登場した今、弊社ではXDでのデザイン作成を推奨しています。

日々便利な機能が追加されているXDですが、今回はその中の一つ「ステート機能」を使ったスライダーの作成方法をご紹介したいと思います。

1. ステート機能について

ステート機能を簡単に説明すると、ボタンなどの状態変化をデザイン上で表現できる機能です。
例えばボタンのホバー時やクリックされたアクティブ時の状態をデザイン段階で見せることができます。

2. ステート機能を使ったボタンの作り方

例えば下の画像のような状態変化をボタンに施したい場合

2-1. ホバーステート

まず通常デザインのボタンをコンポーネント化し、「初期設定のステート」の隣にある+ボタンから「ホバーステート」を選択し追加します。


「ホバーステート」が追加されましたので、「ホバーステート」を選択した状態で、任意の変更を加えます。
この場合星の枠線を黄色に変更しました。


たったこれだけでホバー時の設定が完了しました。

2-2. トグルステート

ここからさらにクリック時の状態変化を追加します。
今度は「トグルステート」を追加ましょう。トグルとは同じ操作や処理によって二つの状態が交互に切り替わるような仕組みのことを言います。


この後は前述と同じでクリック時に変化するデザインを加えることでクリック時の設定が完了しまた。



この「トグルステート」を使用すればよくあるON/OFFボタンもデザイン上で簡単に作成することができます。

3. スライダーの作り方

では実際にステート機能を応用してスライダーを作ってみたいと思います。

スライダーは何枚でも設定することが可能です。スライドさせたい画像を任意の枚数用意してください。
用意ができたら横並びにしグループ化します。ここで縦並びにすれば縦にスライドさせることも可能です。


グループ化したものを画像一枚のサイズでマスクし、コンポーネント化します。



コンポーネントが完了したら先述のボタンと同様ステート機能を設定します。
今回は「新規ステート」をスライドさせたい枚数分用意してください。
ここでは任意の名前が設定できるので分かりやすい名前をつけておきましょう。今回は新規ステートにスライド2、スライド3と名付けました。



「初期設定ステート」が1枚目となるので2枚目、3枚目の状態を設定します。
「スライド2」を選択した状態で、マスクの下で2枚目の画像が表示されるよう移動させます。
3枚目も同様に「スライド3」を選択した状態で、3枚目の画像が表示されるように設定してください。


これで「初期設定ステート」「スライド2」「スライド3」それぞれの状態が設定できましたが、このままでは何をきっかけに画像が変化するかの設定がされていません。

次に、何をきっかけに変化するのかを「プロトタイプ」タブから設定します。

1枚目の矢印をクリックすると2枚目に、2枚目の矢印をクリックすると3枚目に遷移するような設定を行いますので、まず「プロトタイプ」タブを開いた状態で「初期設定ステート」を選択します。


その状態でトリガーとなる矢印を選択します。


矢印を選択した状態で右上の「インタラクション」を追加します。+ボタンをクリックしてください。
このインタラクション設定で、何をきっかけに、どのような動きをするかの設定をすることができます。


「矢印をクリックするとスライド2」が表示されるようにしたいので、
①トリガーを「タップ」
②種類を「自動アニメーション」
③移動先を「スライド2」
に設定してください。
その他の項目は自分の好みに設定してください。
この時、戻る矢印も同時に設定しておきましょう。


次に「スライド2」のステートを選択し、先ほどと同様の設定を行います。
「初期設定ステート」を選択した状態で2枚目のインタラクション設定しても意味がないので、ステートを切り替えることを忘れないでください。


以上でスライダーの設定が全て完了しました。

おわりに

今回はXDのステート機能を使ったスライダーの作成方法を紹介しました。
デザインをお客様に提示するとき、スライダーの動きまで見せることができれば、Webに詳しくないお客様にもイメージしてもらいやすいと思います。
認識のズレも回避することができますので、デザインを作成する際にはぜひ、今回紹介したステート機能を使用してみてください。