webサイトデザインAI入門科授業用ブログ

池袋フェリカテクニカルアカデミーの求職者支援訓練の授業解説ブログです。

高解像度ディスプレイへの対応

Retinaディスプレイ

Retinaディスプレイの特徴は画面解像度の高さにある。iPhone 4の画面サイズは前モデルのiPhone 3GSと同じ3.5インチのままであるが、Retinaディスプレイの搭載によって解像度は320×480ピクセルから640×960ピクセルに、つまり倍になっている。

640×960ピクセルという解像度は「デバイスピクセル(dpx)」と呼ばれ、3.5インチの画面上で表現されるサイズがCSSピクセル(csspx)」と呼ばれています。

ディスプレイの高解像度化により、「デバイスピクセル」と「CSSピクセル」という二つの概念を分けて考える必要がでてきました。

サイトを制作する場合には、ビットマップで画像を作る際は「デバイスピクセル」を、CSSで幅・高さを指定する際は「CSSピクセル」を基準に作って行きます。


f:id:yachin29:20160330005936p:plain


また、「デバイスピクセル」を「CSSピクセル」で割った数値を「devicePixelRatio」と言います。
例 iPhone5は「デバイスピクセル(画面解像度)」が640px✕1136pxで、「CSSピクセル」が320px✕568pxなので「DevicePixelRatio」が2になります。



f:id:yachin29:20160307020120p:plain


【2021最新】スマホ・タブレットの解像度一覧表(画面サイズの割合)iPhone・iPad.. | Webデザイン ABC

CSS-spriteを使ったナビゲーションボタンの作成

CSSスプライトとは複数の画像を1つの画像にまとめる事でサイトの読み込み速度を速くする手法です。FacebookGoogleでも使われている手法です。background-positionを使用して背景画像を動かします。


f:id:yachin29:20160322014753p:plain

f:id:yachin29:20210514091349p:plain



メリット
・画像の読み込みが1回で済むので、サイトの読み込み速度が速くなる


デメリット
・サイズやデザインの更新が面倒
・background-positionの理解が必要

ナビゲーションボタンにCSSスプライトを使ってみましょう

f:id:yachin29:20210514142237p:plain


<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS-Spriteを実装してみる</title>
<style>
html,body,h1,ul,li{
margin: 0;
padding: 0;
}
ul{
list-style: none;
}
a{
text-decoration: none;
color: #222;
}

h1{
text-align: center;
padding: 30px 0;
}
.g-nav{
width: 960px;
height: 50px;
margin: 0 auto;
}
.g-nav>ul{
display: flex;
}
.g-nav li{
width: 20%;
height: 50px;
}
.g-nav a{
display: block;
height: 50px;
background: url(img/bg.png)no-repeat 0 0;
white-space: nowrap;
text-indent: 100%;
overflow: hidden;
}
.g-nav li:nth-of-type(2)>a{
background: url(img/bg.png)no-repeat -192px 0;
}
.g-nav li:nth-of-type(3)>a{
background: url(img/bg.png)no-repeat -384px 0;
}
.g-nav li:nth-of-type(4)>a{
background: url(img/bg.png)no-repeat -576px 0;
}
.g-nav li:nth-of-type(5)>a{
background: url(img/bg.png)no-repeat -768px 0;
}
.g-nav a:hover{
background: url(img/bg.png)no-repeat 0 -60px;
}
.g-nav li:nth-of-type(2)>a:hover{
background: url(img/bg.png)no-repeat -192px -60px;
}
.g-nav li:nth-of-type(3)>a:hover{
background: url(img/bg.png)no-repeat -384px -60px;
}
.g-nav li:nth-of-type(4)>a:hover{
background: url(img/bg.png)no-repeat -576px -60px;
}
.g-nav li:nth-of-type(5)>a:hover{
background: url(img/bg.png)no-repeat -768px -60px;
}
</style>
</head>
<body>
<header>
<h1>CSS-Spriteを実装してみる</h1>
</header>
<nav class="g-nav">
<ul>
<li><a href="#">html</a></li>
<li><a href="#">javascript</a></li>
<li><a href="#">wordpress</a></li>
<li><a href="#">php</a></li>
<li><a href="#">photoshop</a></li>
</ul>
</nav>
</body>
</html>

%とpxを使ったレイアウト

f:id:yachin29:20210513143054p:plain


index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Cafe de FELICA</title>
<link rel="stylesheet" href="css/style.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Caveat:wght@600&display=swap" rel="stylesheet">
</head>
<body>
<header>
<h1>Cafe de FELICA</h1>
</header>
<nav class="g-nav">
<ul>
<li><a href="#">Top</a></li>
<li><a href="#">Menu</a></li>
<li><a href="#">Access</a></li>
<li><a href="#">Blog</a></li>
</ul>
</nav>
<div class="main">
<p class="main-photo"><img src="img/main.jpg" alt=""></p>

<div class="main-copy">
<h2>Lorem, ipsum</h2>
<p class="lead">Lorem ipsum dolor sit amet consectetur, adipisicing elit.<br>
Nemo commodi voluptates impedit unde!<br>
Fugit dolor asperiores libero quibusdam, suscipit quaerat.</p>
</div><!-- /.main-copy -->
<div class="wrapper">
<div class="content-box">
<h3>content-01</h3>
<p class="content-photo"><img src="img/content01.jpg" alt=""></p>
<p class="content-txt">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Vero, eligendi</p>
</div><!-- /.content-box -->

<div class="content-box">
<h3>content-02</h3>
<p class="content-photo"><img src="img/content02.jpg" alt=""></p>
<p class="content-txt">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Vero, eligendi</p>
</div><!-- /.content-box -->

<div class="content-box">
<h3>content-03</h3>
<p class="content-photo"><img src="img/content03.jpg" alt=""></p>
<p class="content-txt">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Vero, eligendi</p>
</div><!-- /.content-box -->
</div><!-- /.wrapper -->
</div><!-- /.main -->
<footer>
<p><small>&copy; 2021 Cafe de FELICA</small></p>
</footer>
</body>
</html>


style.css

@charset "utf-8";

html,body,h1,h2,h3,p,ul,li{
margin: 0;
padding: 0;
}
ul{
list-style: none;
}
a{
text-decoration: none;
color: #222;
}
img{
vertical-align: bottom;
}
body{
font-family: 'Caveat', cursive;
}
header{
width: 960px;
margin: 0 auto;
}
h1{
padding: 20px 0;
font-size: 50px;
color: #8a270f;
}
.g-nav{
width: 100%;
height: 50px;
background-color: #8a270f;
}
.g-nav>ul{
display: flex;
width: 960px;
margin: 0 auto;
}
.g-nav li{
width: 25%;
height: 50px;
}
.g-nav a{
display: block;
line-height: 50px;
color: #FFF;
text-align: center;
font-size: 24px;
border-right: 1px solid #FFF;/* 線幅、線の種類、線の色 */
}
.g-nav li:first-of-type>a{
border-left: 1px solid #FFF;
}
.g-nav a:hover{
background-color: #a75335;
}

.main{
width: 960px;
margin: 50px auto 100px;/* 上、左右、下 */
}
.main-photo{
margin-bottom: 100px;
}
.main-copy{
text-align: center;
margin-bottom: 100px;
}
.main-copy>h2{
margin-bottom: 20px;
font-size: 40px;
}
.lead{
line-height: 1.8;
font-size: 28px;
}
.wrapper{
display: flex;
justify-content: space-between;
margin-bottom: 100px;
}
.content-box{
width: 300px;
}
.content-box>h3{
margin-bottom: 10px;
font-size: 28px;
}
.content-photo{
margin-bottom: 10px;
}
.content-txt{
font-size: 24px;
}
footer{
width: 100%;
height: 100px;
background-color: #a75335;
}
footer>p{
text-align: center;
line-height: 100px;
color: #FFF;
}

2カラムレイアウトの作成

f:id:yachin29:20210510141132j:plain

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ナビゲーション付きの2カラム</title>
<link rel="stylesheet" href="css/style.css">
<style>
html,body,ul,li,p{
margin: 0;
padding: 0;
}
ul{
list-style: none;
}
a{
text-decoration: none;
color: #222;
}

body{
background-color: #d6dbdb;
}
.container{
width: 960px;
margin: 0 auto;
background-color: #FFF;
padding: 10px;
box-sizing: border-box;
}
header{
height: 300px;
background-color: cadetblue;
margin-bottom: 10px;
}
nav{
margin-bottom: 10px;
}
ul{
display: flex;
}
li{
width: 20%;
height: 50px;
}
li>a{
display: block;
text-align: center;
line-height: 50px;
background-color: crimson;
color: #FFF;
}
li>a:hover{
background-color: #e9a7a7;
color: #222;
}
li:nth-of-type(n+2)>a{
border-left: 1px solid #FFF;
}
.wrapper{
display: flex;
flex-direction: row-reverse;
margin-bottom: 10px;
justify-content: space-between;
}
.main{
width: 600px;
height: 400px;
background-color: #a9cea9;
}
.sub{
width: 330px;
height: 400px;
background-color: #f7e2aa;
}
footer{
height: 100px;
background-color: #e4b2cb;
}
footer>p{
text-align: center;
line-height: 100px;
}
</style>
</head>
<body>
<div class="container">
<header></header>
<nav>
<ul>
<li><a href="#">ボタン1</a></li>
<li><a href="#">ボタン2</a></li>
<li><a href="#">ボタン3</a></li>
<li><a href="#">ボタン4</a></li>
<li><a href="#">ボタン5</a></li>
</ul>
</nav>
<div class="wrapper">
<div class="main"></div>
<div class="sub"></div>
</div><!-- /.wrapper -->
<footer>
<p><small>&copy; 2021-05 FELICA</small></p>
</footer>
</div><!-- /.container -->
</body>
</html>

バナーの作成

Webデザイナーとして任される最初の仕事として代表的なものがバナー広告の制作です。

バナーのサイズ

広告の場合、ある程度はサイズに規定があります。仕事の場合大抵クライアントの方から指定があります。1種類のバナーに対し様々なサイズを用意する場合もあるので、色々なサイズに適したレイアウトのパターンを覚えておきましょう。


www.uniad.co.jp


300×250(Yahoo!/Google)PC/スマホ ※推奨

336×280 (Google)PC ※推奨

728×90(Yahoo!/Google)PC ※推奨

160×600(Yahoo!/Google)PC ※推奨

336×280(Google)PC ※推奨

320×50(Yahoo!/Googleスマホ ※推奨

320×100(Yahoo!/Googleスマホ ※推奨

dentsu-ho.com]


上の記事にあるように2020年のインターネット広告費はマスメディア4媒体(テレビ、ラジオ、新聞、雑誌)とほぼ同じです。マスメディア4媒体の広告費は6年連続で減少していますが、インターネット広告費は年々増加しています。




文字を入れてみる

決めたサイズとメインカラーで背景レイヤーを作り、文言を入れてみる。

優先順位とジャンプ率

入れた文言に対し、訴求したい順に優先順位を決め、文字サイズやジャンプ率をここで決めましょう。

文字のジャンプ率で印象は大きく変わる

ferret-plus.com


tsutawarudesign.com




バナー全体のデザイン

フォントの種類や色、テーマに沿ったデザインを作っていきましょう。
中々アイデアが出ない場合は既存のバナーを参考にしましょう。



uxmilk.jp


既存のバナー制作

既存のバナーをモデルにし、バナー画像を作成する。


ローソンフレッシュのバナー
サイズ:300x250

f:id:yachin29:20150116233657g:plain






通信制 科学技術学園高等学校のバナー
サイズ:300x250

f:id:yachin29:20161125092848j:plain



フリー素材

食材・料理や野菜・果物のフリー写真素材 無料画像のフード・フォト

www.pakutaso.com

キービジュアルの作成

header画像の作成

photoshopのフィルター機能やレイヤースタイルなどを使い、header画像を作成しましょう。
f:id:yachin29:20090609115035j:plain


f:id:yachin29:20151008200723p:plain


使用するテキスト

Café Italia Melbourne; Café Italia, Carlton; Get Menu, Reviews, Contact, Location, Phone Number, Maps and more for Café Italia Restaurant on Zomato.


使用素材
f:id:yachin29:20170802161850j:plain

idとclassの使い方

htmlの要素(タグ)はh1など特別な物以外は基本的には複数使用する事が出来ます。
例えばpタグが4つある場合、それぞれのp要素に名前を付ける事で判別する事が出来るようになります。

idの使い方

idには「ファイル内で同じidは2回使えない」「1つの要素に付けられるidは1つだけ」というルールがあります。1つしか使えないidは、言わばとっておきの物なので、通常はcssでは使わずにjavascript等のプログラムの為に取っておきます。

<p id="txt">テキスト</p>

classの使い方

classはidに比べると使い方が自由で、同じclassを複数の要素に使う事が出来、1つの要素に複数のclassを付ける事が出来ます。なので、cssでは通常このclassを使います

<p class="txt">テキスト</p>
class名を複数付ける場合は1つ目と2つ目の間をスペースで空けます。
<p class="txt copy">テキスト</p>