株式会社プライムネットワークスタッフが、html5やCSS3、phpなどのWEB技術に関することやワードプレスなどのCMSについて学んだことなどを紹介して行きたいと思います。
本日は、少し古い話になるのですが、去年の4月にGoogleが発表したガイドライン「Google HTML/CSS Style Guide」の中のhtmlについて思うことを書きます。
まず、このガイドライン、発表は英語の文章で出されたのですが、一年以上たった今も、日本語に翻訳されていません。原文英語(しかも、テキストばかりなのにやたらと重い!!よほど参照されているのかな?)
英文なんて簡単に読めるものじゃないので、頑張ってくださいよ、グーグル株式会社の日本人!
さてさて、そんなわけで、英文を読めない私は、REFLECTDESIGNさんが翻訳してくれている「Google HTML/CSS Style Guide」を適当に和訳してみたを読ませていただきました。
その中で、私が気になったものだけについて感想を述べます。
まずは、「埋め込みリソース」からプロトコル表記を省略するということについてなのですが、これは大丈夫なのか?なんて思ってしまいました。
まずプロトコル表記がなんなのかというと、URLの前につく「http:」「https:」のことで、これって重要じゃないの?なんて思いました。
しかも、これを省略するとかなり不格好なソースになります。
このプロトコルについては詳しくないのでなんとでも言えますが、どうせなら「//」も無くして欲しいものです。
よくソースを見やすくするために「インデント」、つまり字下げをするかと思いますが、これについては、「半角スペースを2つ」で行うのが望ましいそうです。
もともと私は「インデントしない派」で、全てを左寄せで記述していたのですが(1行改行でコント-ロールする派)、どうも新人さんに教える時にこれでは不都合が多く(つまり見づらい・・・)、近年では「タブ」によってインデントしておりました。
でも、そんなにGoogleさんが言うのであれば、今日よりインデントを「半角スペースx2」に変えますよ!
また、htmlタグの要素や属性、属性の値などは全て小文字で記述するとのことですが、これは私もそう思います。
中には全て大文字で記述されているものもありますが、はっきりいって気持ち悪い。ただ、あくまでも個人的な意見なので、大文字で書かれている方はスルーしてください。
まぁ、昨今のjQuaryやら各フレームワークのことを考えると、エンコードは「UTF-8」というのは問題ありませんね。
この部分が一番驚きです!
まぁドキュメントタイプは推奨されるのが、<!DOCTYPE html>という形式でいいらしいので、かなりシンプルになります。
ただ、驚きはここからです!
なんと「省略できるタグは省略」するとのことで、「ザHTML」とも言うべき「html」「head」「body」が省略できます!(オプション扱いですが・・・)
<!DOCTYPE html>
<html>
<head>
<title>いいのか本当に</title>
</head>
<body>
<p>見づらくなるような</p>
</body>
</html>
<!DOCTYPE html>
<title>いいのか本当に</title>
<p>見づらくなるような
んん、随分シンプルになって文字入力の手間が増えるけど、ちょっと見づらくない?
特に他人の書いたソースを分析するときに物凄く面倒くさいことになりそう。
Firebugや開発ツールなど上手く機能するのかな?
XHTMLがかなり厳格だったため、どっぷりと浸かってきた私としては、まぁ、気持ち悪い。
とはいえ、スマホなどの普及によりデータの軽減は必須となってきているので、この新たな取り組みは、いいことなのかもしれませんね。
ただし、注意しなければならないのは、あくまでもGoogleの見解であって、W3Cの勧告ではないため、現段階では自分で納得出来る部分だけを採用すればいいのかなと思っています。
とはいえ、検索結果を牛耳っているGoogleですから、このガイドラインを守るとSEO的な効果はあがるのでしょうかね?
ツイートフラットデザインが急速に流行っていますね。
一体どんなものかというと、下の画像を比較してもらうとわかるのですが、まずiOS6のようにアイコン自体がとてもリアルで現実のものを模写したようなデザイン、光沢、影などがいままで流行っていたのが「スキューモーフィックデザイン」。
そして、下のWINDOWS8のスタート画面が「フラットデザイン」で、非常に平坦な見た目で、欲言えばシンプルなデザインとなります。
まぁ、ざっくりというと、凄く見た目が綺麗でリアル、こんなの自分では作れない、または作るにしても時間かかりそう・・・なものが「スキューモーフィックデザイン」で、あっさり自分でも作れそうだとおもわせてくれるものが「フラットデザイン」です。
まぁ、簡単に作れそうなんていうと語弊がありますが、この「フラットデザイン」はシンプルなので、かえってデザイン力が問われます。
僕もいままで数々のフラットデザインを見てきた中で、優れたものは数知れずです。
特に日本語を使用したフラットデザインにおいては、格好良いものを見たことがありません
ちなみに、僕個人の感想なのですが、「フラットデザイン」はUIで考えると、ちょっとわかりづらいものがあります。
現実を模したもの、「スキューモーフィックデザイン」であれば、なんとなく直感で操作がわかるのですが、フラットデザインは、とてもシンプルなので、ボタンなのか、罫線なのかがわからない時があります。
とはいえ「フラットデザイン」は、無駄に画像を使わずにCSSのみである程度のデザインを施すことができるので、実は制作だけを取ってみると、かなり好きな部類に入ります。
(CSSである程度できるので、とにかくやり直しが簡単!いちいちイラストレータやフォトショップを開く必要がない!)
そんなわけで、今回は、「フラットデザイン」における「ロングシャドウ」を実践してみます。
まずは「ロングシャドウ」がどういったものかというと、以下のような見栄えが「ロングシャドウ」となります。
ロングシャドウです
ソースは、以下のようにシンプルになっており、CSSでlongshadowというクラスを入れています。
html <p class="longshadow">ロングシャドウです</p>
css .longshadow {
background-color: rgb(22, 160, 133);
text-shadow:
1px 1px rgb(20, 100, 80),
2px 2px rgb(20, 100, 80),
3px 3px rgb(20, 100, 80),
4px 4px rgb(20, 100, 80),
5px 5px rgb(20, 100, 80),
6px 6px rgb(20, 100, 80),
7px 7px rgb(20, 100, 80),
8px 8px rgb(20, 100, 80),
9px 9px rgb(20, 100, 80),
10px 10px rgb(20, 100, 80),
11px 11px rgb(20, 100, 80),
12px 12px rgb(20, 100, 80),
13px 13px rgb(20, 100, 80),
14px 14px rgb(20, 100, 80),
15px 15px rgb(20, 100, 80),
16px 16px rgb(20, 100, 80),
17px 17px rgb(20, 100, 80),
18px 18px rgb(20, 100, 80),
19px 19px rgb(20, 100, 80),
20px 20px rgb(20, 100, 80),
21px 21px rgb(20, 100, 80),
22px 22px rgb(20, 100, 80),
23px 23px rgb(20, 100, 80),
24px 24px rgb(20, 100, 80),
25px 25px rgb(20, 100, 80),
26px 26px rgb(20, 100, 80),
27px 27px rgb(20, 100, 80),
28px 28px rgb(20, 100, 80),
29px 29px rgb(20, 100, 80),
30px 30px rgb(20, 100, 80),
31px 31px rgb(20, 100, 80),
32px 32px rgb(20, 100, 80),
33px 33px rgb(20, 100, 80),
34px 34px rgb(20, 100, 80),
35px 35px rgb(20, 100, 80),
36px 36px rgb(20, 100, 80),
37px 37px rgb(20, 100, 80),
38px 38px rgb(20, 100, 80),
39px 39px rgb(20, 100, 80),
40px 40px rgb(20, 100, 80),
41px 41px rgb(20, 100, 80),
42px 42px rgb(20, 100, 80),
43px 43px rgb(20, 100, 80),
44px 44px rgb(20, 100, 80),
45px 45px rgb(20, 100, 80),
46px 46px rgb(20, 100, 80),
47px 47px rgb(20, 100, 80),
48px 48px rgb(20, 100, 80),
49px 49px rgb(20, 100, 80),
50px 50px rgb(20, 100, 80); box-shadow:
1px 1px rgb(212, 212, 212),
2px 2px rgb(212, 212, 212),
3px 3px rgb(212, 212, 212),
4px 4px rgb(212, 212, 212),
5px 5px rgb(212, 212, 212),
6px 6px rgb(212, 212, 212),
7px 7px rgb(212, 212, 212),
8px 8px rgb(212, 212, 212),
9px 9px rgb(212, 212, 212),
10px 10px rgb(212, 212, 212),
11px 11px rgb(212, 212, 212),
12px 12px rgb(212, 212, 212),
13px 13px rgb(212, 212, 212),
14px 14px rgb(212, 212, 212),
15px 15px rgb(212, 212, 212),
16px 16px rgb(212, 212, 212),
17px 17px rgb(212, 212, 212),
18px 18px rgb(212, 212, 212),
19px 19px rgb(212, 212, 212),
20px 20px rgb(212, 212, 212),
21px 21px rgb(213, 213, 213),
22px 22px rgb(214, 214, 214),
23px 23px rgb(215, 215, 215),
24px 24px rgb(216, 216, 216),
25px 25px rgb(216, 216, 216),
26px 26px rgb(217, 217, 217),
27px 27px rgb(218, 218, 218),
28px 28px rgb(219, 219, 219),
29px 29px rgb(220, 220, 220),
30px 30px rgb(221, 221, 221),
31px 31px rgb(221, 221, 221),
32px 32px rgb(222, 222, 222),
33px 33px rgb(223, 223, 223),
34px 34px rgb(224, 224, 224),
35px 35px rgb(225, 225, 225),
36px 36px rgb(226, 226, 226),
37px 37px rgb(226, 226, 226),
38px 38px rgb(227,227, 227),
39px 39px rgb(228, 228, 228),
40px 40px rgb(229, 229, 229),
41px 41px rgb(230, 230, 230),
42px 42px rgb(231, 231, 231),
43px 43px rgb(231, 231, 231),
44px 44px rgb(232, 232, 232),
45px 45px rgb(233, 233, 233),
46px 46px rgb(234, 234, 234),
47px 47px rgb(235, 235, 235),
48px 48px rgb(235, 235, 235),
49px 49px rgb(236, 236, 236),
50px 50px rgb(237, 237, 237),
51px 51px rgb(238, 238, 238),
52px 52px rgb(239, 239, 239),
53px 53px rgb(240, 240, 240),
54px 54px rgb(240, 240, 240),
55px 55px rgb(241, 241, 241),
56px 56px rgb(242, 242, 242),
57px 57px rgb(243, 243, 243),
58px 58px rgb(244, 244, 244),
59px 59px rgb(245, 245, 245),
60px 60px rgb(245, 245, 245),
61px 61px rgb(246, 246, 246),
62px 62px rgb(247, 247, 247),
63px 63px rgb(248, 248, 248),
64px 64px rgb(249, 249, 249),
65px 65px rgb(250, 250, 250),
66px 66px rgb(250, 250, 250),
67px 67px rgb(251, 251, 251),
68px 68px rgb(252, 252, 252),
69px 69px rgb(253, 253, 253),
70px 70px rgb(254, 254, 254),
71px 71px rgb(255, 255, 255);
height: 80px;
width: 220px;
font-size: 20px;
color:#fff;
font-weight:bold;
line-height: 80px;
text-align:center;
overflow:hidden;
margin:0 auto;
}
どうですか!簡単といいつつも、結構時間がかかりました!!!
そしてやってみて思ったのが、修正は簡単じゃない!!!!!!!
いや、これは画像でやるべきだ!!!地獄です、地獄。
これ作るのに3時間かかりました。
こんなに時間がかかってしまったため、この記事の主題を忘れてしまいました・・・・。
なので、近いうちに続きを書きます。
Sassって便利だから、使ってみれば?
なんて声が、1年前から勧められているにも関わらず今日まで来てしまいました。
話に聞いていると、なんだか便利で良さそうな気もするのですが、仕事のうえで、そこまでCSSを頻繁に使うこともなく、ちょこっとした修正ばっかりだったので、いままでスルーしていました。
ところが、なんだが最近、一からCSSを書かねばならないハメになり、遅まきながらSassについて調べてみました。
(やはり必要に駆られないとヤラない性分は変わりません・・・)
CSSのコーディングを便利にするもので、Sass(さっす,さす)と言うそうです。
要するにCSSの書き方にプログラミングでいうところの変数や計算式などが使え、書いたもの(.scss)をコンパイルしてCSSを作るという、かなりプログラミング寄りなものです。
とはいえ、コテコテのプログラミング言語ほど難しくなく、普通にCSSを書けるデザイナーであれば、問題なく移行できそうです。
まぁ、変数だのなんだのを考えるのも面倒くさいけど、現在の僕の中では、ある程度のCSSのルールができあがっているので、これをさらに推し進めればいいだけなので、頑張ってみようかな!
さて、しばらくぶりに勉強意欲が湧いてきたところで問題が・・・
なんとSassを使うためには、Rubyが必要になってくるのだそうです!!!
Masユーザであれば、最初からOSにRubyが入っているから簡単にインストールできるようですが、なにせ会社のパソコンはWindows。
まずは、Rubyからインストールしなければなりません!!!
インストーラがあるので簡単かと思ったら、今度はコマンドプロンプトで、わけのわからないコマンドを打たねばならない!
しかも、一度で済むこと無く、数回コマンドプロンプトで入力しなければなりません
読んだだけで、断念です。
いままである程度のインストール作業をこなして来ましたが、コマンドプロンプト系のインストールにいい思い出はありません。
上手く行けばいいのですが、一度として1回で上手くいった試しがありません。
なので、今回は、インストールの仕方をリンクで掲載しておきます。
ツイート