WEBサイト制作の勉強

WEBサイト制作の勉強の為の解説ブログです。

フェリカテクニカルアカデミー

求職者支援訓練 webサイト制作科 2019年3月開講クラスを募集中

f:id:yachin29:20190131101240j:plain


www.felica.info


東京池袋のフェリカテクニカルアカデミーでは、只今平成31年3月15日より 開講する「Webサイト制作科」の受講生を募集しています。
600時間を超える講座を無料で受講出来、プロになるために必要なスキルを身につける事が出来ます。また、職業訓練受講給付金として給付金を受け取ることが出来ます。(受給資格がありますので、ご確認下さい。)
詳細に関してはフェリカテクニカルアカデミーに直接お問い合わせ下さい。TEL:03-3981-7201

募集期間:2月15日まで

訓練期間:2019年3月15日 ~ 2019年9月14日

訓練時間:15時55分 ~ 20時50分


フェリカテクニカルアカデミーでは、施設見学会を行っていきます。
施設見学会へのご予約はwebフォームでも受付けております。

ご予約フォームはこちらから

www.felica.info



求職者支援訓練とは?

求職者支援制度とは、職業訓練による能力形成を通じ、真剣に就職を目指そうとする方のための制度です。雇用保険を受給できない失業者の方に対し、無料の職業訓練(求職者支援訓練)を実施し、一定の支給要件を満たす場合は、職業訓練の受講を容易にするための給付金を支給するとともに、ハローワークにおいて強力な就職支援を実施することにより、安定した「就職」を実現するための制度です。

求職者支援訓練の受講を希望される方は、まずは求職者支援訓練を受講できる資格があるかご確認ください。不明なことがございましたら、フェリカテクニカルアカデミーに問い合わせいただくか、最寄のハローワークに直接問い合わせしてご確認ください。

 


Web制作の現場に行けるインターンシップ制度の導入

フェリカでは、Web制作会社を中心にインターンシップ制度を導入しています。学校に通いながら、空き時間に実際の職場へ行き、現場で求められるスキルや会社の雰囲気を肌で感じる機会を設けています。インターン先で就職というケースも実績として非常に多いです。入校した際には是非チャレンジしてください。

どんな授業を行うの?

現場で求められるスキルを身に付ける事がこのクラスの一番の課題です。GitやSASSといった、現場で求められる新しいスキルなども積極的に授業で取り入れていきます。


クライアントワーク

実際のクライアントワークを通し、サイト制作の企画からリリース後の検証までを自身で体験し、サイト制作に必要なノウハウを養います。また架空サイトでは無い、実際のサイト制作を通して学んだ事をポートフォリオに記載する事で、就職活動の上でもクライアントワークはアピールにもなります。

過去の受講生の作品

www.felica.info


既存サイトのトレース

既存のサイトをトレースする事で製作者がどういった意図でそのサイトを作ったかが、より明確になります。まずは既存のサイトをトレースする事で、色々なパターンのデザインを覚えて、オリジナルサイトの制作に活かしていきます。

作例
http://yachin29.webcrow.jp/bloom/


http://yoshi1004.webcrow.jp/content/kirin/



生徒の作例
http://yoshi1004.webcrow.jp/content/kaguya/


スマホサイト制作

最近では、Google検索を使用しているほとんどのユーザーは、モバイル端末から検索を行うようになっています。Googleだけでなく、多くのサイトでPCよりもスマートフォン利用者の方が多い現在、今まで以上にスマホサイトが重要になってきます。
授業ではGoogleが推奨する「レスポンシブデザイン」や「動的な配信」でのサイト制作を学ぶ事が出来ます。
また、モバイルファーストインデックス (MFI)といった、最近の考え方やアルゴリズムも学び、よりスマートフォンに適したUI・UX設計を行っていきます。


webアプリ開発

クラウドベースのスマホアプリ開発プラットフォームを使用し、HTML5・CSS3とJavaScriptを用いて、iOSAndroidの両方に対応したハイブリッドアプリの開発を行います。実際にアプリをリリースする為に必要なワークフローを体感してもらいます。

f:id:yachin29:20180103222000p:plain

既存サイトのトレース

index.html

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>既存サイトのトレース</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/style.css">
</head>

<body>
<header>
<h1>ロゴ</h1>
<nav class="g-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>
</ul>
</nav>
</header>
<div class="container">

<div class="top top-l">
<a href="#">
<div class="cap">
<h2>タイトル</h2>
<p class="txt">テキストテキストテキストテキスト</p>
<p class="more">view more</p>
</div><!--/.cap-->
</a>
</div>

<div class="top top-r">
<a href="#">
<div class="cap">
<h2>タイトル</h2>
<p class="txt">テキストテキストテキストテキスト</p>
<p class="more">view more</p>
</div><!--/.cap-->
</a>
</div>
<div class="btm btm-l">
<a href="#">
<div class="cap">
<h2>タイトル</h2>
<p class="txt">テキストテキストテキストテキスト</p>
<p class="more">view more</p>
</div><!--/.cap-->
</a>
</div>
<div class="btm btm-c">
<a href="#">
<div class="cap">
<h2>タイトル</h2>
<p class="txt">テキストテキストテキストテキスト</p>
<p class="more">view more</p>
</div><!--/.cap-->
</a>
</div>

<div class="btm btm-r">
<a href="#">
<div class="cap">
<h2>タイトル</h2>
<p class="txt">テキストテキストテキストテキスト</p>
<p class="more">view more</p>
</div><!--/.cap-->
</a>
</div>
</div>
</body>
</html>

スタイルシート

@charset "utf-8";
/* CSS Document */

html,body,h1,h2,p,ul,li {
margin:0;
padding:0;
line-height:1.0;
}
ul {
list-style:none;
}
a {
text-decoration:none;
color:#222;
}
img {
vertical-align:bottom;
}

/*PCレイアウト*/
body {
display:flex;
}
header {
width:10%;
height:100vh;
position:relative;
background:#9A9A9A;
}
h1 {
width:120px;
height:120px;
position:absolute;
top:20px;
right:0;
left:0;
margin:auto;
background: url(../img/logo.svg) no-repeat center center/cover;
white-space:nowrap;
text-indent:100%;
overflow:hidden;
}
.g-nav {
margin-top:200px;
width:100%;
}
.g-nav li {
width:100%;
height:calc((100vh - 200px) /4);
}
.g-nav li a {
display:block;
text-align:center;
padding-top:100px;
font-size:16px;
padding-bottom:calc((100vh - 200px) / 4 - 116px);
/*calcは演算子の前後にスペースが必要*/
background:#DCDCDC;
box-sizing:border-box;
position:relative;
}
.g-nav li a:before {
display:block;
content:"";
width:60px;
height:60px;
background:url(../img/nav01.svg) no-repeat center center/contain;
position:absolute;
top:-50px;
right:0;
bottom:0;
left:0;
margin:auto;
}
.g-nav li:nth-child(2) a:before {
background:url(../img/nav02.svg) no-repeat center center/contain;
}
.g-nav li:nth-child(3) a:before {
background:url(../img/nav03.svg) no-repeat center center/contain;
}
.g-nav li:nth-child(4) a:before {
background:url(../img/nav04.svg) no-repeat center center/contain;
}
.g-nav li a:hover {
background:#E78284;
}
.container {
width:90%;
display:flex;
flex-wrap:wrap;
overflow:hidden;
}
.top {
width:50%;
height:50vh;
background:#ccc url(../img/L1.png) no-repeat right top/cover;
}
.top.top-r {
background:#ccc url(../img/L2.png) no-repeat right center/cover;
}
.btm {
width:33.33%;
height:50vh;
background:#ccc url(../img/S1.png) no-repeat center top/cover;
}
.btm.btm-c {
background:#ccc url(../img/S2.png) no-repeat center center/cover;
}
.btm.btm-r {
background:#ccc url(../img/S3.png) no-repeat right center/cover;
}

/*ホバーアクション*/
.cap {
width:100%;
height:50vh;
background:rgba(215,59,61,0);
text-align:center;
color:#FFF;
padding-top:120px;
transition:0.2s;
}
.cap:hover {
width:100%;
height:50vh;
background:rgba(215,59,61,1.00);
text-align:center;
color:#FFF;
padding-top:0;
}
h2 {
padding:100px 0 40px;
}
.txt {
margin-bottom:100px;
}

@media (max-width:640px){
/*SPレイアウト*/
body {
display:block;
}
header {
width:100%;
height:60px;
position:fixed;
z-index:9999;
display:flex;
justify-content:space-between;
}
.g-nav {
margin-top:0;
width:80%;
}
.g-nav ul {
display:flex;
}
.g-nav li {
width:25%;
height:60px;
}
.g-nav li a {
padding-top:40px;
font-size:13px;
height:60px;
}
.g-nav li a:before {
width:26px;
height:26px;
top:-20px;
right:0;
bottom:0;
left:0;
margin:auto;
}
.container {
width:100%;
display:block;
position:relative;
padding-top:60px;
}
h1 {
width:50px;
height:50px;
position:static;
margin:5px auto;
background: url(../img/logo.svg) no-repeat center center/cover;
}
.top,.btm {
width:100%;
height:40vh;
margin-bottom:30vh;
position:relative;
}
.cap {
width:100%;
height:30vh;
background:#FFFFFF;
text-align:center;
color:#222;
padding-top:0;
transition:none;
position:absolute;
top:100%;
}
.cap:hover {
width:100%;
height:30vh;
background:#FFFFFF;
text-align:center;
color:#222;
padding-top:0;
transition:none;
position:absolute;
top:100%;
}
h2 {
padding:50px 0 30px;
}
.txt {
margin-bottom:40px;
}
}


icooon-mono.com

photoshopの描画モードを使う

描画モードを上手に使う事で、様々な合成が出来るようになります。
各描画モードの特性を覚えて目的にあった描画モードを使い、円滑に合成などの処理を行えるようになりましょう。




焼き印のようなロゴを作る

f:id:yachin29:20151210235011p:plain

  1. 白い台紙とロゴ画像を1つのレイヤーに結合する
  2. 結合したレイヤーを選択し「フィルター→ノイズ→ダスト&スクラッチ」を選択し、「半径:4」でクリック。全選択でコピー。
  3. 木のテクスチャにペーストし、チャンネルのRGBをコントロールクリックして反転。
  4. 「レイヤー」から「新規→選択範囲をコピーしたレイヤー」を実行。レイヤーに焼印と名前をつける。
  5. 「焼印レイヤー」のサムネをクリックし選択範囲→選択範囲の変更→境界をぼかすで「半径:20」(けっこう大きめ)くらいでOK。3と同じように背景レイヤーに戻って「新規→選択範囲をコピーしたレイヤー」を実行。レイヤーにぼかしと名前をつける。
  6. 「焼印レイヤー」を選んでレイヤースタイルの光彩(内側)で乗算、不透明度:50、色を黒、サイズを30くらいに。レイヤーオプションを焼きこみカラー。
  7. 「ぼかしレイヤー」のレイヤーオプションを焼きこみリニアに。
  8. 不透明度を調節

紙にスタンプされたようなロゴを作る

f:id:yachin29:20151211000109p:plain

  1. 白い台紙とロゴ画像を1つのレイヤーに結合する
  2. 描画色を赤 背景色を白に変更
  3. スタンプの画像を開き、フィルター→スケッチからギザギザのエッジを選び、「画像のバランス10」、「滑らかさ15」、「コントラスト23」
  4. フィルターから「描画→雲模様」のあと編集から雲模様のフェードを選んで、描画モードをスクリーンにすると、絵柄の部分だけ雲模様が残る
  5. フィルターから「スケッチ→コピー」で「ディテール7」「暗さ30」。続いて「新しいエフェクト」で新規フィルターを追加し、「スケッチ→スタンプ」を選択し、「明るさ暗さのバランス:40」「滑らかさ:5」で全選択でコピー。
  6. テクスチャにペーストし、レイヤーモードを乗算、焼き込みに
  7. 不透明度で微調整

湯気を付ける

新規レイヤーを作り(スクリーンでチェック)、描画色を初期設定にもどす
フィルターから雲模様1
フィルターから「ぼかし移動」角度:90、距離:40程度
フィルターから変形→波形で、波形:5、「波長は最小:10最大:250」、「振り幅は最小:1、最大:40」、比率は「水平:100%、垂直:15%」
投げ縄ツール(ボケ50)で切り取り、レイヤーマスクを追加。
不要な所を消しゴムで消す
不透明度を下げて調節


Assorted Logosrichardperkins.deviantart.com






画像素材
http://yachin29.com/school/photoshop-felica2.zip



画像素材2
http://felica29.starfree.jp/photo1030.zip

モーダルウィンドウ

モーダルウィンドウ(英: Modal window)は、何らかのウィンドウの子ウィンドウとして生成され、ユーザーがそれに対して適切に応答しない限り、制御を親ウィンドウに戻さないユーザインタフェース設計になっているもの。モーダルウィンドウはGUIシステムで、ユーザーに注意を促したり、緊急の状態を知らせる目的でよく使われる。

webサイトではECサイトやギャラリーページなど画像を多数使用しているページなどでよく使用されています。

online.actus-interior.com



商品画像などは画像のサイズが大きいほどユーザーに伝わる情報量も多くなるので、なるべく大きい画像を用意したい。
また商品画像の枚数が多いほどユーザーに伝わる情報量も多くなるので、なるべく多くの画像の用意したい。
この2つをそのままサイトに反映させてしまうと、webサイトが大きい画像だらけになり、レイアウトも制限され結果として見辛いサイトになってしまいます。

なので、モーダルウィンドウを使用し、サムネイル(小さいサイズの画像)を一覧で見せて、大きい画像を見たい場合はサムネイルをクリックし、大きい画像を別ウィンドウで表示させる必要があります。




主なモーダルウィンドウ系のjQueryプラグイン

モーダルウィンドウといえば代表的な「Lightbox
lokeshdhakar.com


Lightbox」より高機能な分、作りも少し複雑です(ライセンスに注意)
fancyapps.com


こちらも多機能でカスタマイズが色々と出来るjQueryプラグイン「colorbox」
Colorbox - a jQuery lightbox


軽量でスマホ対応もバッチリな「remodal」
vodkabears.github.io


動画をモーダルで表示
http://chiyo-katsumasa.com/video/

この10年間でwebサイトがどのように変化したか

この10年でwebサイトがどの様に変わったか、が一目でわかる非常に興味深いサイトです。
10年前というとスマートフォンの普及も一般的では無く、多くのwebサイトはPCをターゲットにしていました。
なので、リンクの多くはテキストリンクだったり、リンク同士が近く窮屈な感じがしてしまいます。

逆に最近のwebページはスマートフォンで閲覧する事を前提にしているので、リンクがブロック毎に配置してあり、リンクの押しやすさが考慮されています。


www.arun.is

モバイルファーストでのレスポンシブサイト

SP
f:id:yachin29:20190122031550j:plain



PC
f:id:yachin29:20190122031616j:plain




https://school.yachin29.com/no-sticky/


<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>モバイルファースト</title>
<meta name="viewport" content="width=device-width">
<link href="https://fonts.googleapis.com/css?family=Josefin+Slab:400,700" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
</head>

<body>
<header>
<div class="header-inner">
<h1>Cafe de FELICA</h1>
<nav class="g-nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Concept</a></li>
<li><a href="#">Menu</a></li>
<li><a href="#">Access</a></li>
</ul>
</nav>
</div>
</header>
<main class="content">
<p class="main-img"><img src="img/main.jpg" alt=""></p>
<h2><span>Cafe de Felica</span>は、<br>
食とアートと音楽が交差する<br>
空間を創造します。</h2>
<p class="main-txt">シェフ・矢島が提供するのは、スペイン料理に「東京」のエッセンスを取り入れたモダンスパニッシュ。<br>
店内は、新進気鋭のアーティストとコラボレーションしたアートギャラリー。心地よいチルアウトミュージックが流れる空間でくつろぎのひとときをお過ごしください。<br>
魚介や肉、野菜の旨みがお米一粒ひと粒にまで染みわたった特製のパエリアやイベリコ豚のグリル、アヒージョなどの本格スペイン料理をお楽しみください。<br>
オンラインでのレストランご予約は、ご予約ご希望日の7~30日前までの受付となります。
</p>

<div class="wrapper">
<div class="box">
<a href="#">
<h3>Concept</h3>
<p class="box-img"><img src="img/box1.jpg" alt=""></p>
<p class="box-txt">テキストテキストテキストテキストテキストテキストテキストテキスト<br>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</a>
</div>

<div class="box">
<a href="#">
<h3>Menu</h3>
<p class="box-img"><img src="img/box2.jpg" alt=""></p>
<p>テキストテキストテキストテキストテキストテキストテキストテキスト
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</a>
</div>

<div class="box">
<a href="#">
<h3>Access</h3>
<p class="box-img"><img src="img/box3.jpg" alt=""></p>
<p class="box-txt">テキストテキストテキストテキストテキストテキストテキストテキスト<br>
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</a>
</div>
</div>
</main>
<footer>
<p><small>&copy; 2019 Cafe de FELICA</small></p>
</footer>
</body>
</html>

スタイルシート

@charset "utf-8";
/* CSS Document */

html,body,h1,h2,h3,p,ul,li,small {
margin:0;
padding:0;
line-height:1.0;
}
a {
text-decoration:none;
color:#222;
}
ul {
list-style:none;
}
img {
vertical-align:bottom;
max-width:100%;
}

/*SPレイアウト*/
header {
border-bottom: 4px solid #FB8E14;
font-family: 'Josefin Slab', serif;
}
h1 {
color:#FB8E14;
text-align:center;
padding:20px 0 10px;
}
.g-nav ul {
display:flex;
justify-content:space-between;
padding:10px 0;
box-sizing:border-box;
}
.g-nav li {
width:25%;
height:40px;
}
.g-nav li a {
display:block;
text-align:center;
line-height:40px;
border-right:1px solid #999;
}
.g-nav li:last-child a {
border-right:0;
}
.content {
padding:20px 10px;
box-sizing:border-box;
}
.content h2 {
text-align:center;
padding:40px 0;
line-height:1.6;
font-weight:normal;
}
.content h2 span {
font-family: 'Josefin Slab', serif;
margin-right:3px;
}
.main-txt {
padding:0 10px;
box-sizing:border-box;
line-height:1.6;
margin-bottom:60px;
}
.box {
box-shadow: 0 0 5px #aaa;
padding:20px;
box-sizing:border-box;
margin-bottom:20px;
}
.box h3 {
border-left:10px solid #6B78DB;
padding-left:10px;
font-size:26px;
font-weight:normal;
margin-bottom:20px;
font-family: 'Josefin Slab', serif;
}
.box:nth-child(2) h3 {
border-left:10px solid #5FD75E;
}
.box:nth-child(3) h3 {
border-left:10px solid #E06C6E;
}
.box-img {
margin-bottom:20px;
}
.box-txt {
line-height:1.6;
}

footer {
background:#FB8E14;
text-align:center;
color:#FFF;
height:50px;
}
footer p {
line-height:50px;
}

@media (min-width:768px){
.header-inner {
max-width:1200px;
margin:0 auto;
display:flex;
justify-content:space-between;
}
h1 {
color:#FB8E14;
text-align:center;
padding:20px 0 10px 10px;
}
.g-nav li a {
padding:0 30px;
font-size:18px;
border-right:0;
position:relative;
}
.g-nav li a:after {
content:"";
display:block;
width:80%;
height:0;
background:#FB8E14;
position:absolute;
top:10px;
right:0;
bottom:0;
left:0;
margin:auto;
z-index:-1;
}
.g-nav li a:hover:after {
height:10px;
transition:0.2s;
}
.g-nav li.current a:after {
height:10px;
}
.content {
max-width:1200px;
margin:0 auto;
padding:20px 10px;
}
.main-txt {
text-align:center;
max-width:800px;
margin:0 auto 60px;
}
.wrapper {
display:flex;
justify-content:space-between;
}
.box {
width:32%;
box-shadow:none;
margin-bottom:60px;
transition:0.2s;
}
.box:hover {
box-shadow:0 0 30px #aaa;
}
}

東池袋のそば屋 生蕎麦あさひ本店

東池袋のそば屋「生蕎麦あさひ本店」は、東京メトロ有楽町線東池袋駅から徒歩1分のところにあるそば屋です。
東池袋にあるあさひ本店は大正13年創業で美味しいそばを作っております。
日替わりランチ、多くの種類のお酒、肴もございます。宴会や出前の予約も承っております。


asahihonten4.html.xdomain.jp



f:id:yachin29:20190109183930j:plain