Internet Explorerのサポート終了後に使えるオススメのCSS

2022年6月16日をもってMicrosoft社によるInternet Explorer(以下IE)のサポートが終了となります。2021年10月にリリースされたWindowsの最新OS「Windows 11」では、すでにIE11は無効化されておりEdgeが既定のブラウザとなっています。
 
これまでIEに対応するため使用を断念してきたCSSプロパティも、今後は利用する機会が増えてくると思います。そこで今回はIEが推奨環境から外れたら使える、オススメのCSSプロパティを紹介したいと思います。

1. オススメのCSSプロパティ

1-1. mix-blend-mode

Adobe PhotoshopやIllustratorなどのレイヤーを重ねる時に設定できる合成モード(乗算やオーバーレイ)を指定できるプロパティです。
 
コーディング案件で提供されたデザインデータを確認している時、ただの透過かと思ったら「乗算」が使われていたという経験はありませんか?「mix-blend-mode」が使えない時は複数のレイヤーを一枚画像にまとめて書き出すなど工夫が必要でしたが、今後はCSSで設定できるようになります。
 

 
メインビジュアルなどの写真の上にテキストを配置するデザインも、合成モードで一工夫をするとインパクトのある表現ができます。また、白背景付きのロゴ画像も「mix-blend-mode: darken(比較(暗)」を指定すると、切り抜いたようにロゴだけを表示させることも可能です。
 
CSSで画像加工ができるプロパティなので積極的に活用していきましょう。
 

1-2. object-fit, object-position

htmlに配置したimgやvideoタグをどのようにトリミングするか指定できるプロパティです。
 
これまで画像をトリミングしたい時は、背景画像として読み込んで background-size: cover や contain で代用することが多かったと思いますが、今後はimgタグでも指定できるようになります。また、object-positionプロパティを併用することで、トリミングする要素の表示位置を調整することも可能です。合わせて活用していきましょう。
 

 

1-3. gap

gapはflexやgridでレイアウトする際の要素間の空きを一括指定するプロパティです。これまでflexで配置した子要素の余白はnth-child()やmarginを使用して調整することが多かったと思いますが、今後はgap一つで行間・縦間を指定することができます。記述するコードが減り手間も大きく省けるのでオススメです。
 
行間・列間を個別に指定したい場合は「row-gap」「column-gap」を使用しましょう。
 

 

1-4. position: sticky;

指定した要素をスクロールに応じて固定することができるプロパティです。セクションの見出しやサイドバーなど、常に固定させると邪魔だが、一定の区間では固定表示にすると便利な要素に使用すると効果的です。
 
今まではJavaScriptでの実装が必要だった挙動を、CSSだけで完結できるようになったので、面白い活用方法を思いついたらぜひ試してみましょう。

1-5. clip-path

要素を設定した領域でクリッピング(切り抜く)することができるプロパティです。
 
今まではPhotoshopで加工した画像を用意したり、CSSで疑似要素を活用して切り抜いたりしていましたが、今後は四角形、円形、楕円形、多角形といった形状の切り取りはCSSだけで完結できるようになりました。
 
ジェネレータを活用すると、さらに複雑な形状への切り抜きが簡単に作成できるので活用してみましょう。
Clippy – CSS clip-path maker

おわりに

今回はIEのサポートが終了したら使える、便利なCSSプロパティについて紹介しました。今まで使えなかったCSSプロパティが業務で使えるようになると、これからのコーディング作業も楽しみな気持ちになってきます。今回紹介したもの以外にも使えるCSSプロパティはたくさんあるので、また次の機会にでも紹介したいと思います。

独学で色彩検定1級に合格した受験体験談

みなさんは色彩検定をご存じでしょうか?
名前の通り、色についての知識が問われる試験です。
私自身、3級の勉強からはじめて現在は1級を取得しているので今回は受験体験談を書いていこうと思います。

1. 受験のきっかけ

以前は、色の配色に迷った時は検索して調べていました。いい感じの配色があったとしてもどうしてこの色がいいのか等、しっかり言語化することができていませんでした。
そこで色について学ぼうと思い色彩検定にたどり着き、どうせなら勉強して1級まで全部取ろう!と最初から意気込み受験に至りました。

 

公式サイト:色彩検定

2. デザインワークにおいて役立つかもしれない級は2級

デザインをする上で「一番役に立つかも」と感じたのは2級です。下記に試験範囲をまとめてみましたのでご覧ください。
色の基礎知識からインテリア、ファッションまでさまざまな分野の色彩についてを学ぶので興味のない分野だと必要ないなと思うかもしれないですが、色の組み合わせや配色はどの分野においても共通するものがあります。

 

色彩検定2級の試験範囲

・色のユニバーサルデザイン

・光と色

・色の表示(マンセル表色系)

・色彩心理

・色彩調和

・配色イメージ

・ビジュアルデザイン(映像、イラスト、写真、文字などで視覚的に情報を伝達するデザイン)

・ファッション

・インテリア

・景観色彩

・慣用色名

3. 2級試験範囲の中で面白いと思った項目

色彩心理

色彩心理とは、自然の色を軸に人が色をどう見ているかや錯視による見え方の違いを学びます。
代表的な例は下記の記事にもあります「ナチュラルハーモニー(ベゾルト-ブリュッケ現象)」です。

 

Webデザインに使える配色技法 -自然に見える配色と自然に見えない配色-

 

色彩調和

色彩調和とは、配色する上での理論が学べます。
ジャッドの「色彩調和論」がありますが、類似性の原理に当てはまるのが下記の記事で紹介している「ドミナントトーン」や「カマイユ配色」です。

 

配色技法 -4パターン紹介-

 

配色イメージ

他サイトですが、こちらの記事がわかりやすくまとめてあります。
1級2次対策とありますが2級の範囲と同じです。

 

参考サイト:色彩検定1級2次の基礎知識(15) ~配色イメージ~

4. なぜ2級がおすすめ?

3級は基礎中の基礎なので、2級を勉強する前に3級を学習することは前提ですが2級では「3. 2級試験範囲の中で面白いと思った項目」にもある通り、デザイン制作をする際に使えるテクニックが学べるからです。

また、色彩検定には公式のテキストがあるので基本的にはそのテキストで勉強をしますが2級は圧倒的に写真や図が多くカラフルで見やすいので勉強が捗ります。

 

さらに、ユニバーサルデザインも学べるので色弱の方に配慮した配色が理解できるようになります。
色彩検定にはUC級(ユニバーサルデザイン級)もあり、そちらではより詳しく学習ができます。
私のおすすめは2級とUC級の併願で一気に勉強することです。実際に私は併願で受験しました!

 

各級のレベルについて詳しく知りたい方は色彩検定とは | 検定レベル(各級の目安)をご覧ください。

5. 模擬問題

「色彩検定協会」公式サイトで練習問題が見れます。
興味のある人は解いてみましょう!

おわりに

今回は色彩検定受験体験談について書きましたが、いかがでしたでしょうか。
感覚的に配色するのではなく理論的に理解ができるようになり、デザインワークにおいてとても有益な勉強になったと個人的には思います。
この記事が色彩に興味を持つきっかけとなれば幸いです。

@importから@use、@forwardへの移行で気を付けるポイント

私はSCSSでコーディングをする時はFLOCSSをベースに、リセットはreset.scss、変数やmixinはvariable.scss、基本設定はbase.scssにするなど、ファイルを分割して記述しています。分割して記述したファイルは最後にまとめる必要がありますが、それらのファイルを統合する際に使用するのが
「@import」です。
 
「@import」で分割したファイルを読み込むと、各ファイルで定義された変数やmixinはどのSCSSファイルからでも参照することができるので、一見するとお手軽で便利と思っていたのですが、この「@import」が2022年10月に廃止となるようです。
 
「@import」廃止後は「@use」「@forward」を使用することになるので、あとで慌てることがないように事前に触ってみた所、いくつか詰まるポイントがあったので、備忘録も兼ねて紹介したいと思います。

1. はじめに

1-1. @importについて

「@import」は外部のSCSSファイルを読み込むことができます。下記のFLOCSSをベースにした構成の場合、最後に一つのファイルに統合するため、style.scssに@importですべてのSCSSファイルを記述することになります。

■ foundation
├ _base.scss
├ _reset.scss
└ _variable.scss
■ layout
├ _l-container.scss
├ _l-header.scss
└ _l-footer.scss
■ object
├ component
│ └ _c-button.scss
├ project
│ └ _p-profile.scss
└ utility
@import "Foundation/reset";
@import "Foundation/variable";
@import "Foundation/base";
@import "Layout/l-header";
@import "Layout/l-footer";
…

「@import」で読み込むとvariable.scssに書いた変数を、どのファイルからでも参照できるようになるので(グローバル変数になる)、お手軽だなと思っていたのですがこれが廃止の一因でもあるそうです。
 
参考サイト:「The Module System is Launched

1つのスタイルシートで定義されたものはすべて、その後にインポートされたすべてのスタイルシートで使用できるため、特定の変数、ミックスイン、または関数(総称して「メンバー」と呼ばれる)が最初に定義された場所を特定することはほぼ不可能でした。

1-2. @useについて

@importに代わって使用することになるのが「@use」です。外部のSCSSファイルを読む込むという挙動は同じですが、読み込んだファイルの中身(変数やmixin)は、読み込み元のファイル内でしか参照することができません。@importのようにグローバル変数扱いとはならないので、variable.scssの中身を参照したい場合は、下記のように都度@useで読み込ませる必要があります。

@use "../../foundation/variable";

また、SCSSのコンパイル環境によっては、すぐに使うことができないので要注意です。特にgulpでコンパイルをしている場合は「node-sass(LibSass)」から「Dart Sass」への移行が必要になるので確認しておきましょう。GUIコンパイラの「Prepros」を使用している場合は、最初から「Dart Sass」でのコンパイルとなっているので、すぐに「@use」を使うことができます。

1-3. @forwardについて

@forwardは、@useで他ファイルから参照される際に一緒に読み込んで欲しいSCSSファイルを指定することができます。

@forward "../../foundation/reset";
@forward "../../foundation/variable";
@forward "../../foundation/base";

@useだけだと単に記述する量が増えただけで面倒そうに見えますが、@forwardを併用することで、これまで通り複数ファイルをまとめて読み込むことが可能になります。

2. 気を付けるポイント

2-1. @forwardの役割は転送

@forwardで読み込んだファイルの中身(変数やmixin)は、読み込み元のファイル内で使用することはできません。@forwardの指定はあくまで、SCSSファイルが@useで読み込まれる時に一緒に読み込む(転送してくれる)ファイルを指定したものです。
 
説明を読んで理解したつもりでも、実際に使用するとコンパイルエラーになることが多いので、@useの役割は「読み込み」、@forwardの役割は「転送」ということを意識しておきましょう。

2-2. 変数の記述

@importで読み込んだ変数を使用する時は以下のように記述していましたが、@useで読み込んだ変数を同じように記述するとエラーになってしまいます。

$color_theme_red: #ff0000;
@import "../../foundation/variable";

.c-button {
	color: $color_theme_red;
}

@importの廃止は、どこから参照しているのかをしっかり記述しましょう、という仕様変更なので、変数を扱う際にもしっかり記載元のファイルを記述する必要があります。

@use "../../foundation/variable";

.c-button {
	color: variable.$color_theme_red;
}

メディアクエリの記述をmixinで設定している場合もファイル名の記述が必要です。記述箇所を迷いやすいので、反映されない場合はしっかり確認してみましょう。

@use "../../foundation/variable";

@include variable.media(md) {
	……
} 

おわりに

今回は@importから@useへの移行で気を付けるポイントについて紹介しました。FLOCSSでコーディングをしている場合、結構大掛かりな記述の変更になるので、日頃の業務で使用されている方は早めに触れておくことをオススメします。また、Web界隈ではこのような仕様変更が度々起きるので、日頃からアンテナを張っておき、戸惑わないように対処していきましょう。

CSSでレイアウト〜Gridを使ってみよう〜

Web制作の場面において、みなさんは写真のレイアウトをする際Gridを使っていますか?
Flexでは難しいレイアウトもGridなら簡単にレイアウトをすることができます。

今回は知っておくと便利なCSS Grid Generatorを紹介しようと思います。

 

 

1. CSS Grid Generatorの使い方

1-1. 3 × 3のレイアウトの場合

1.下記URLにアクセスする。

 

 https://cssgrid-generator.netlify.app/

 

2.Columns(列)、Rows(行)にそれぞれ数値を入力する。

 

 

3.マスをドラッグアンドドロップして画像を入れるマスを決める。
 div1と表示が出てきたところに画像が入り、点線のマスに1枚ずつ画像が入る想定です。

 

 

4.Please may I have some codeボタンを押す。

 

 

5.htmlとcssに4で取得したコードを使用する。今回は.parentのコードだけを使用します。
<div class="parent">
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
</div>
.parent {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-template-rows: repeat(3, 1fr);
 grid-column-gap:0px;
 grid-row-gap:0px;
}
完成サンプル

 

 

1-2. 3 × 3のレイアウト 上下左右の間隔10pxの場合

1-1の3までは同じ

4.Column Gap(左右の余白)、Row Gap(上下の余白)を入力する。

 

 

5.Please may I have some codeボタンを押す。

 

 

6.htmlとcssに5で取得したコードを使用する。今回も.parentのコードだけを使用します。
<div class="parent">
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
 <div><img src="xxx"></div>
</div>
.parent {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-template-rows: repeat(3, 1fr);
 grid-column-gap:10px;
 grid-row-gap:10px;
}
完成サンプル

 

 

1-3. 複雑なレイアウトの場合

1.Columns(列)、Rows(行)にそれぞれ数値を入力し、マスをドラッグアンドドロップして画像を入れるマスを決める。

 

 

2.Please may I have some codeボタンを押す。

 

 

3.htmlとcssに2で取得したコードを使用する。
<div class="parent">
 <div class="div1"><img src="xxx"></div>
 <div class="div2"><img src="xxx"></div>
 <div class="div3"><img src="xxx"></div>
 <div class="div4"><img src="xxx"></div>
 <div class="div5"><img src="xxx"></div>
 <div class="div6"><img src="xxx"></div>
 <div class="div7"><img src="xxx"></div>
</div>
.parent {
 display: grid;

grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px; } .div1 { grid-area1 / 1 / 2 / 2; }
.div2 { grid-area1 / 2 / 2 / 3; }
.div3 { grid-area1 / 3 / 3 / 5; }
.div4 { grid-area2 / 1 / 3 / 2; }
.div5 { grid-area2 / 2 / 3 / 3; }
.div6 { grid-area3 / 1 / 5 / 3; }
.div7 { grid-area3 / 3 / 5 / 5; }
完成サンプル

 

 

おわりに

 
今回はグリッドレイアウトのコーディングに役立つCSS Grid Generatorを紹介しました。
複雑で面倒なレイアウトでも、とても簡単かつ正確にコーディングをすることができるので活用してみて下さい。 その他コーディングの際に役立つジェネレーターはこちらの記事でも紹介していますので是非参考にしてみましょう。

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

Web制作の場面において、みなさんはジェネレータを使用していますか?

今回は知っておくと便利なコーディング作業を楽にするジェネレータをいくつか紹介しようと思います。

 

 

1. CSS三角形作成ツール

 

 
CSS三角形作成ツール
 

CSS三角形作成ツールはその名の通り、CSSだけで三角形を作成してくれるジェネレータです。
「方向」「タイプ」「サイズ」「色」を任意で設定し、作成されたCSSをそのままコピペするだけで三角形を表現することができます。
画像で用意するとサイズや色の修正にも一手間かかりますが、CSSならコードを書き換えるだけなので、クライアントからの微妙な修正依頼やレスポンシブデザインにも柔軟に対応することができます。
<div class="triangle"></div>
.triangle{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 100px 100px 100px;
	border-color: transparent transparent #007bff transparent;
}

 
 

2. CSS Gradient

 

 
CSS Gradient
 
グラデーションの細かな設定を助けてくれるのが「CSS Gradient」です。
色の変化のポイントとなる点を設定し、あとは「色」「角度」などを設定すれば自動でCSSを作成してくれます。
 

<div class="gradient"></div>
.gradient{
	width: 100%;
	height: 100px;
	background: rgb(2,0,36);
	background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%);
}

 
 

3. Table Tag Generator

 

 
Table Tag Generator
 
「Table Tag Generator」は面倒なTableレイアウトを自動で作成してくれる便利なジェネレータです。

単純なTableであればジェネレータの必要はありませんが、セルの結合(colspanやrowspan)を使用している場合は、コードが少し複雑になってきます。

意外と使用頻度がなく、理解していないと少し時間のかかってしまうTableレイアウトも「Table Tag Generator」を使えば簡単にコーディングすることができます。
 
 

4. CSS Shapes and Icons Generator

 

 
CSS Shapes and Icons Generator
 
「CSS Shapes and Icons Generator」はWeb制作においてよく使用されるアイコンをHTML、CSSのみで表示できる便利なジェネレータです。

アイコン自体を変形することは出来ないので使える場面は限られてくるかもしれませんが、アイコンに特段のこだわりがない場合には非常に便利です。

<i class='shape167'></i>
.shape167{
	display:inline-block!important;
	position:relative;
	width:30px;
	height:30px;
	background-color:#666666;
	border-radius:10%;
	border:calc(30px/8) solid #666666;
	box-sizing:content-box;
}

.shape167:before{
	position:absolute;
	content:'';
	margin:auto;
	top:0;
	bottom:calc(30px*-1);
	left:0;
	right:0;
	width:calc(30px/1.1);
	height:calc(30px/1.1);
	background:rgba(0,0,0,0);
	border-radius:30%;
	border:calc(30px/6) solid transparent;
	border-top:calc(30px/3) solid #fff;
	box-sizing:border-box;
}

.shape167:after{
	position:absolute;
	content:'';
	margin:auto;
	top:0;
	bottom:calc(30px/2.5);
	left:0;
	right:0;
	width:calc(30px/2.5);
	height:calc(30px/2.5);
	background-color:#fff;
	border-radius:100%;
	box-sizing:border-box;
}


 
 

おわりに

 

今回はコーディングの際に便利なジェネレータ4選を紹介してみました。
作業効率を上げることは単純に時間の節約だけでなく、スキルアップにも繋がりますので、作業の効率化は日頃から念頭においておきましょう。

【Adobe XD】パディング機能でボタンや見出しを自動サイズ調整

最近はAdobe XDでデザイン作成をしている時間が長かったので、前回(コンポーネント機能について)に引き続き、XDの便利な機能について紹介したいと思います。
 
みなさんはXDのレイアウト機能「パディング」を活用していますか?
 
前回の記事で紹介したコンポーネントは便利な機能ですが、見出しやボタンをコンポーネントにした時、内包しているテキスト量が増えると外枠のデザインからはみ出してしまい、適宜サイズ調整を行う必要があります。しかし、パディング機能を活用するとテキスト量がどれだけ増えても、自動でサイズ調整をしてくれるようになります。
 
今回はそんな便利なパディング機能について紹介します。

1. パディングについて

パディングとは内側の要素と外枠の間隔を指定した値に保ってくれる機能です。パディングの値は上下左右に個別に指定することもできますし、全ての値を揃えることもできます。
(コーディング時のpaddingと同じ指定方法なのでわかりやすいですね)
 
パディングについて
 
主な活用法としてはボタンや見出し、テーブルなどテキストを内包しているデザインパーツに指定することです。これらのデザインパーツは配置するページによってテキスト量が増減する可能性があるので、自動でサイズ調整をしてくれるパディングの効果を大きく実感することができます。

2. パディングの使い方

パディングを設定できるのは「グループ」「コンポーネント」の要素になります。パディングは2つのオブジェクトの間隔を指定するものなので、オブジェクト単体はもちろんグループ化されていないオブジェクト同士では設定することができませんので注意しましょう。

2-1. パディングの適用

1.まずは対象となるオブジェクト(グループまたはコンポーネント)を選択します。
 

 
2.次にプロパティインスペクターの「パディングを有効化」アイコンをクリックします。また「レスポンシブサイズ変更」がOFFになっている場合はONに変更してください
(OFFだとパディング設定は表示されません)
 

 
この時、全方向のパディングを個別に指定するか、同じ値にするかを選択することができます。通常はデザインを完成させてからパディング設定を行うので、個別指定になっていることがほとんどですが、あとから一括指定に変更することも可能です。
 

2-2. パディングの編集

あとでパディング値を変更したい場合は、プロパティインスペクターの値を変更します。直接オブジェクトの方を移動・変形してもパディング値は固定されてしまっているため、変更することはできませんので注意しましょう。
 
パディングの編集

3. パディングの活用例

パディングを指定すると便利なデザインパーツを紹介します。

3-1. ボタンに活用

ボタンのテキストは「入力内容を確認する」や「送信」などテキスト量が増減しやすいパーツなので、あらかじめパディングを設定しておくと便利です。
 

 

3-2. 見出しに活用

レスポンシブサイトでは見出しを改行に対応させるケースがよくあります。パディングを使用して改行にも対応したデザインを作成しておきましょう。
 

おわりに

今回はAdobe XDのパディング機能について紹介しました。デザインを作成する時、テキスト量が多い場合や改行時のデザインといったものは、つい漏れてしまいがちです。パディング機能を活用すると、デザイン修正に柔軟に対応できるだけでなく、レスポンシブを考慮したデザインができるようになるので、まだ使用したことがない方はぜひ活用してみてください!

素材待ちの困ったを解消する!ダミー画像を手軽に挿入できるツールのおすすめ

Webサイト制作時、写真やイラスト・図表などの正式な素材が届かず、素材待ちの状態でコーディングを進める場面も多くありますよね。
そのような時、異なるダミー画像を一つずつ用意して、書き出して、サイズ指定して、、と作業に取り掛かるのは手間も時間もかかります。
かといって本来画像を置くはずの場所に何も表示されていないと作業が難しく、差し替え作業のミスに繋がりかねません。

 

そこで今回はそのような時に役立つ「ダミー画像生成ツール」をご紹介します。
サイト制作途中でのダミー使用だけでなく、場合によっては画像がないとき表示する「no image」用として活用するのもありだと思います。

1. 『placehold.jp』 – 国産シンプルな操作○



https://placehold.jp/
 
使い方はとてもシンプルで直感的な操作が可能です。サイト上の「使い方」説明を適宜参照しながら使いこなしてみましょう。
 
Basic   :縦横サイズを指定して生成する
Advanced:フォーマット(png or jpg)や文字サイズ、色、表示文字、CSSまで指定できる
URL   :URLを直接入力して画像を生成する
 
「とりあえず画像を置きたい」「様々なサイズを配置してコーディングを検証したい」などという場面でもとても便利です。

 

2. 『placekitten』 – かわいい子猫で癒しを


https://placekitten.com/
 
子猫の写真をダミー画像として配置できます。とてもかわいいです。
どんな子猫が登場するかはお楽しみ(?)遊び心と癒しを感じながら制作してみるのはいかがでしょうか?
 
URL内で画像のサイズ指定と、グレースケールの指定が行えます。

<!-- カラーはこちら -->
<img src="https://placekitten.com/200/300" alt="" />
<!-- グレースケールはこちら(/g) -->
<img src="https://placekitten.com/g/400/300" alt="" />

 

3. 『placebear』 – クマのダミーで迫力を


https://placebear.com/
 
使い方はplacekittenと同じです。サイト下部に”Inspired by placekitten”と書かれているように子猫からインスパイアされて誕生したバージョンのようです。

 

4. 『Doodle Ipsum』 – イラストをカスタマイズ


https://doodleipsum.com/
 
ダミー画像としては変わり種となるのがDoodle Ipsumです。イラストを用途に合わせて自動生成することができます。
ただ間を埋めるためのダミー画像と違い、参考イメージや「こういうイラスト挿入したいです!」というデザイン指示にも使えそうですね。
 
イラストのテイストから色、サイズ、切り抜き方など様々なカスタマイズが可能です。詳しい使い方はサイト下部に載っていますので気になる方はぜひチェックしてみてください!

 

5. 『Unsplash Source』 – あのフリーストックを使用


https://unsplash.com/developers
 
Doodle Ipsumのように、より完成イメージに近づけたい場合や、写真が配置される予定の場合はフリー写真の使用がおすすめです。
Unsplash Sourceは、お馴染みのフリー写真ストックUnsplashの写真をダミー画像として表示してくれます。そもそもフリー写真のため、ダミーではなく最終的にそのまま使用できる点もメリットです。

 

6. おわりに

ワイヤーフレームのような簡易的なダミー画像からフリー写真を使用した実践的なもの、遊び心のある面白ダミー画像まで、用途に合わせて活用できるオンラインサービスをご紹介しました。上記でご紹介したもの以外にもたくさんのダミー画像生成ツールがありますので、是非お気に入りのツールを見つけて、制作を効率よく楽しく行っていきましょう。

 

テキストを「…」に省略表記する方法と英語テキストの折り返し指定

※記事の特性上一部デザインが崩れています。

 

コラムなどを投稿するタイプのWebデザインにおいて、投稿した文章が長すぎると想定していたデザインに合わない場合があります。その際は投稿した文章を途中で「…」に省略する方法で対応することができます。

 

また、日本語の場合はテキストがどれだけ長くても、指定したコンテンツ幅内で自動的に折り返されますが、半角スペースのない英語羅列や数字羅列の場合は横幅を超えると自動で折り返しが効かない場合があります

 

今回は長い文章が投稿されても途中で「…」に省略する方法と、英語テキストや数字の折り返し指定についてご紹介します。

1. 長過ぎる文章を途中で「…」にする方法

1-1. 一行表示

サンプル

 

月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないがなぜだかそれを捨てるに忍びず僕はそれを、袂に入れた。月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないが月に向ってそれは抛れず浪に向ってそれは抛れず僕はそれを、袂に入れた。月夜の晩に、拾ったボタンは指先に沁み、心に沁みた。月夜の晩に、拾ったボタンはどうしてそれが、捨てられようか?

 


 
省略後サンプル

 

月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないがなぜだかそれを捨てるに忍びず僕はそれを、袂に入れた。月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないが月に向ってそれは抛れず浪に向ってそれは抛れず僕はそれを、袂に入れた。月夜の晩に、拾ったボタンは指先に沁み、心に沁みた。月夜の晩に、拾ったボタンはどうしてそれが、捨てられようか?

 

コード

<p class="text-omit">月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないがなぜだかそれを捨てるに忍びず僕はそれを、袂に入れた。月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないが月に向ってそれは抛れず浪に向ってそれは抛れず僕はそれを、袂に入れた。月夜の晩に、拾ったボタンは指先に沁み、心に沁みた。月夜の晩に、拾ったボタンはどうしてそれが、捨てられようか?</p>

1-2. 複数行表示

サンプル

 

月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないがなぜだかそれを捨てるに忍びず僕はそれを、袂に入れた。月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないが月に向ってそれは抛れず浪に向ってそれは抛れず僕はそれを、袂に入れた。月夜の晩に、拾ったボタンは指先に沁み、心に沁みた。月夜の晩に、拾ったボタンはどうしてそれが、捨てられようか?

 


 
省略後サンプル

 

月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないがなぜだかそれを捨てるに忍びず僕はそれを、袂に入れた。月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないが月に向ってそれは抛れず浪に向ってそれは抛れず僕はそれを、袂に入れた。月夜の晩に、拾ったボタンは指先に沁み、心に沁みた。月夜の晩に、拾ったボタンはどうしてそれが、捨てられようか?

 

コード

<p class="text-omit2">月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないがなぜだかそれを捨てるに忍びず僕はそれを、袂に入れた。月夜の晩に、ボタンが一つ波打際に、落ちていた。それを拾って、役立てようと僕は思ったわけでもないが月に向ってそれは抛れず浪に向ってそれは抛れず僕はそれを、袂に入れた。月夜の晩に、拾ったボタンは指先に沁み、心に沁みた。月夜の晩に、拾ったボタンはどうしてそれが、捨てられようか?</p>

-webkit-line-clamp: 3;
の部分では行数の指定をしているので、必要な行数を指定することができます。

2. 英語テキストの折り返し指定

2-1. 単語ごとに折り返す

完成サンプル

 

I wander’d lonely as a cloud That floats on high over vales and hills,When all at once I saw a crowd,A host of golden daffodils,Beside the lake, beneath the trees Fluttering and dancing in the breeze.

 

コード

<p class="english">I wander'd lonely as a cloud That floats on high over vales and hills,When all at once I saw a crowd,A host of golden daffodils,Beside the lake, beneath the trees Fluttering and dancing in the breeze.</p>

overflow-wrap:break-wordは、日本語の場合は幅に合わせて文字は折り返され、かつ、文字の途中で折り返されます。
英語の場合は単語ごとに折り返され、長い単語はその途中で折り返されます。

2-2. アルファベットごとに折り返す

完成サンプル

 

I wander’d lonely as a cloud That floats on high over vales and hills,When all at once I saw a crowd,A host of golden daffodils,Beside the lake, beneath the trees Fluttering and dancing in the breeze.

 

コード

<p class="english2">I wander'd lonely as a cloud That floats on high over vales and hills,When all at once I saw a crowd,A host of golden daffodils,Beside the lake, beneath the trees Fluttering and dancing in the breeze.</p>

2-3. 英語羅列や数字羅列を横幅に応じて折り返す

サンプル

 

sample1234567890sample1234567890sample1234567890sample1234567890sample1234567890sample1234567890

 


 
折り返し設定後サンプル

 

sample1234567890sample1234567890sample1234567890sample1234567890sample1234567890sample1234567890

 

コード

<p class="english-number">sample1234567890sample1234567890sample1234567890sample1234567890sample1234567890sample1234567890</p>

3. おわりに

今回は途中で「…」に省略する方法と英語テキストの折り返し方法をご紹介しました。コーディング段階でテキストの扱いに困り、対応方法を考える際に参考になれば幸いです。

【GitHub】リモートリポジトリへのpushを自動でサーバに反映させる方法【自動デプロイ】

GitHubにプッシュした内容を開発サーバで確認したい時、手動でファイルを反映させていくのは手間ですよね。

今回はGitHubにプッシュした内容を自動で開発サーバに反映させる方法をご紹介します。

 

 

1. GitHubにリモートリポジトリを作成する

まず最初にGitHubにリモートリポジトリを作成しましょう。

お好きなリポジトリ名を入力し公開設定をしたら「Create Repositry」ボタンをクリックします。

これでリモートリポジトリの作成が完了したので一旦GitHubから離れます。

 

 

 

2. サーバとのSSH接続

リモートリポジトリへのpush内容を自動でサーバに反映するためには、サーバとのSSH接続が必要になります。

今回はさくらのレンタールサーバへの反映を例として取り上げますので、まずは下記の情報をご用意ください

※さくらレンタルサーバに契約していて、アカウントとパスワードが発行されていることが前提です。

FTPサーバ名:example@example.sakura.ne.jp
アカウント名:example
初期フォルダ:www
パスワード:password

 

私はMacを使用しているので、まずターミナルを立ち上げます。ターミナルでの作業に慣れていない方はここで投げ出したくなるかもしれませんが、恐れずに進みましょう。

 

ターミナルを立ち上げたら下記を入力します。

ssh [FTPサーバ名]

ssh example@example.sakura.ne.jp

 

入力するとパスワードを2回求められるので、パスワードを2回入力してください。

正常にログインできると「Welcome to FreeBSD!」と表示され、文の頭に%が自動で付きます。

 

 

 

3. リモートリポジトリをサーバにクローンする

先程SSHでサーバにアクセスしたように、GitHubもサーバにSSHでアクセスできなければサーバ内の情報に変更を加えることができません。ですのでサーバ上でSSHキーを作成し、作成した”鍵”をGitHubに持たせる必要があります。

 

以下ではその手順について説明します。

またターミナルでの作業となりますが、実際に手を動かしてトライ&エラーで挑戦してみましょう。

 

3-1. サーバ上でSSHキーを作成する

先程SSH接続していたターミナルの画面を確認してください。

接続しているサーバ名が表示されていれば問題ありません。

 

 

 

この状態からssh-keygen(SSHの認証鍵の生成コマンド)と入力してください。

% ssh-keygen

 

入力すると次から次へと難しそうな表示が現れますので、一つ一つ順番に対応していきましょう。

 

 

 

①% ssh-keygenを入力すると表示されます。

これはどこに鍵を保存するかを聞かれています。ディレクトリに問題がなければEnterキーを押しましょう。

 

②鍵を上書きするかどうかを聞かれます。

初めて作成する場合は聞かれませんが、問題なければ「y」と入力しましょう。

 

③任意のパスワードを2回求められます。

Enterキーを2回押すことで先に進めますが、任意のパスワードを設定しておいてください。

後ほど使用します。

 

id_rsaとid_rsa.pubの保存場所を表しています。

鍵は秘密鍵と公開鍵の2種類が作成されますが、今回GitHubに持たせるのはid_rsa.pub(公開鍵)となります。

id_rsa = 秘密鍵

id_rsa.pub = 公開鍵

 

以上で鍵の作成は完了です。

 

3-2. GitHubに作成したSSHキーを登録する

ターミナルからでもこの作業は行えますが、分かりやすいようにFTPツールを使います。

先程SSH接続していたFTPサーバにお好きなFTPツールを使ってログインしてください。

 

ログインできたらターミナルで表示されていた保存先のディレクトリまで移動し、「id_rsa.pub」ファイルを開きます。

 

 

 

ファイル内にはssh-rsaから始まるアルファベットが羅列されていますので、「ssh-rsa」を含む全てをコピーしましょう。

 

 

 

コピーが完了したらGitHubを開いてください。

右上のメニューアイコンから「Settings」→「SSH and GPG keys」→「New SSH Key」の順で進みます。

「New SSH Key」をクリックすると、先程作成した公開鍵を登録する画面が表示されますので、「Title」と「Key」を入力し、「Add SSH Key」をクリックすれば、登録完了です。

 

 

 

3-3. サーバにクローンする

以上の作業でGitHubがサーバに接続するための設定が完了したので、次は実際にGitHubのリポジトリをサーバにクローンしてみましょう。

 

まずはターミナルでクローン先のディレクトリまで移動します。

下記のコマンドを使用して確実にサーバ内を移動しましょう。

pwd ... 現在地を確認することができます。

cd 〇〇 ...今いるディレクトリを基準にディレクトリを移動できます。

ls ... 今いるフォルダ内に存在するファイル、フォルダを一覧で見ることができます。

pwdコマンドを打つことで、今「/home/ユーザ名」ディレクトリにいることが分かります。

 

 

 

私は「/home/ユーザ名/www」ディレクトリにクローンしたいので、

cd www

と入力し、ディレクトリを変更します。

変更できたかどうかは再度pwdコマンドを打つことで確認できます。

 

 

ディレクトリの移動が完了したらクローン用のURLをコピーします。

GtiHubのリポジトリ管理画面に移動し、「Code」ボタンをクリックして「SSH」のURLをコピーしてください。

 

 

 

コピーしたらターミナルに移動し、

git cloneと入力した後にURLを貼り付けてEnter。

パスワードを求められるので、SSHキーを作成した際のパスワードを入力。

③クローン完了

git clone git@github.com:***/***.git

 

 

 

無事にクローンが完了したら、実際にFTPツールを使って確認してみましょう。

ターミナルでgit cloneを打ち込んだディレクトリにリポジトリ名のフォルダが作成されていると思います。

これでGitHubとサーバのSSH接続が完了しました。

 

 

4. リモートリポジトリへのpushを自動でサーバに反映させる

いよいよ自動デプロイの設定に入ります。

自動デプロイの方法はいくつかあるのですが、今回はGitHub Actionsを利用して設定しようと思います。

GitLabやBitbucketでは方法が異なりますのでご注意ください。

 

4-1. サーバ側の設定

さくらサーバの場合、デフォルトでは国外IPアドレスフィルタがかかっています。

コントロールパネルより「セキュリティ」→「国外IPアドレスフィルタ」→「アクセス制限設定」の順で無効に変更してください。

 

 

 

4-2. 必要な情報をSecretsに登録する

GitHubではパスワードやサーバのアクセス情報など、機密情報を暗号化された変数として使用することができます。

 

GitHubのリポジトリ管理画面「Settings」→「Secrets」→「New repository secret」の順でクリックすると、変数の登録画面に遷移します。

ここでは変数名(Name)と代入する値(Value)を正確に入力しましょう。

 

 

 

サーバにSSHログインするために使用したFTP情報を再度使用します。

下記4つの情報を登録するので、自動デプロイしたいサーバのFTP情報を登録してください。

①FTPサーバ名

②FTPアカウント名

③FTPパスワード

④自動デプロイしたいディレクトリ

FTP_SERVER:example.sakura.ne.jp
FTP_USERNAME:example
FTP_PASSWORD:password
FTP_SERVER_DIR:www/deploy-test/ ※ライブラリの仕様上、最後に/をつける必要があります。

 

 

 

4-3. GitHub Actionsの設定

GitHub Actionsの設定を行います。

GitHubのリポジトリ管理画面「Actions」→「set up a workflow yourself」をクリックすると、Workflowファイルの作成画面に遷移します。

ここでは様々なWorkflow(GitHubへの指示)を作成することができます。

 

作成画面に遷移したら、デフォルトで入力されている内容を下記の記述に変更してください。

 

 

 

name: Deploy via Github Actions to Production
on:
  push:
    branches:
      - main
    tags:
      - '[0-9]+.[0-9]+.[0-9]*'

jobs:
  test:
    name: Deploy to server

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Sync files
        uses: SamKirkland/FTP-Deploy-Action@4.1.0
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          server-dir: ${{ secrets.FTP_SERVER_DIR }}

 

書き換えが完了したら画面右上の「Start commit」ボタンよりファイルをコミットしてください。

 

 

 

以上で全ての手順が終了です。

正常に動いているかテストする場合は、ターミナル、ソースツリー、ブラウザから、どの方法でも良いので、GitHubにファイルをpushしてみましょう。

 

 

 

GitHub Actionsが正常に機能している場合、「Actions」画面に緑のチェックが入ります。ここが赤や黄色だとエラーが起きているので、Secrets項目やymlファイルに間違いがないか見直してみましょう。

おわりに

今回はGitHub環境での自動デプロイ設定について紹介しました。

WordPressの場合テーマファイルをGit管理すれば、複数人での開発も容易です。一度設定してしまえば都度サーバにアップするといった面倒な作業を省略でき、開発の時短にもなりますので、ぜひこの記事を参考に開発環境の構築に取り組んでみてください。