第14回 HTML5ビギナーズ
#html5jbg
@320kawashima
河島 美津雄
HTML5ビギナーズ 部長
html5j スタッフ
ビギナー部ってどんなことやってるの?
HTML5ビギナーズというこれからHTML5を始める・始めたばかりの方々のための勉強会をやっ
てます。基本的に入門者向けの内容になりますが、HTML5を中心としたWeb技術全般について
幅広く取り上げていきます。もちろん、ビギナーでない方のご参加もOK!復習や苦手克服に活
用してください!目指せエキスパート!
活動理念
日本のWebのベースづくりに貢献する
河島の個人的な
フロントエンドエンジニア・Webデザイナ
マーケティングオートメーション始めました。
HTML5道場 書いています
初心者向けjQueryハンズオン講座やってます
• なぜ人を簡単に信じてはいけないのか
• 信じれる人をみつける
アジェンダ
なぜ人を簡単に信じてはいけないのか
第1部
HTML
JavaScriptCSS
文書構造
視覚表現 振る舞い
ブラウザ側のよくある技術関係
HTML
JavaScript
CSS
Webサイトを作る
?
最初に教わった間違ったブラウザ側のよくある技術関係
人に聞いてその情報を鵜呑みにした自分が悪い!
知りたいキーワード
よくある情報収集例
日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語で解説し
た内容、日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語
で解説した内容
仕様書をみて日本語で解説 仕様書をみて日本語で解説 仕様書をみて日本語で解説
仕様書をみて日本語で解説したサイト
情報を得る
www.xxx.xx/xxxx/xxxx/
仕様書をみて日本語で解説した内容、仕様書をみて日本語で解説した内容、仕様書をみて日本語で解説した内容、仕様書をみ
て日本語で解説した内容、仕様書をみて日本語で解説した内容、仕様書をみて日本語で解説した内容、仕様書をみて日本語で
解説した内容
日本語の情報をみて日本語で解説したサイト
www.xxx.xx/xxxx/xxxx/
日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語で解説し
た内容、日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語で解説した内容、日本語の情報をみて日本語
で解説した内容
日本語の情報をみて日本語で解説したサイト
www.xxx.xx/xxxx/xxxx/
その検索結果の内容、信じて大丈夫ですか?
W3Cのサイトキャ
プチャ
技術には仕様書があります
こうらしいよー
と
仕様書にこう書いている
大事なことは1次情報をみること
信じれる人をみつける
第2部
@hilokiさんのFLOCSSのおかげで
CSSの書き方が劇的に良くなったお話
CSSを書いていて困る事
• このスタイルはどこで使われているの?
• このスタイルの影響範囲はどこまで?
• 似たようなスタイルが修正で全部対応しなちゃいけない…
• HTMLの要素の変更があったから、CSSも修正しなきゃ…めんどくさい…
• すでに効いている他のスタイルの詳細度が強すぎて上書きの修正が必要…
• 関連するスタイルがCSSファイルに散らばっていて修正しづらい…
• すでにあるスタイルでどういうものがあるの?使えるものがあるんだった
ら既存のスタイルを使いたい
・
・
・
このスタイルはどこで使われているの?
クラス名に場所の情報を含める。
逆に場所の情報が含まれていないクラス名は、場所に依存していないところで
使用されているということ。
このスタイルの影響範囲はどこまで?①
クラス名にプレフィックス(接頭辞)をつけて、再利用するための機能性もしくは単
純な凡用性があるのか、限定的なのかを明確にする。
FLOCSSのプレフィックスは小文字ですが、河島は大文字で頭字語として活用してい
ます。大文字=プレフィックスという分かりやすさと、スタイル以外の用途で例えば
Google Tag ManagerやJavaScriptに関連するクラス名を書くときに、GTM-やJS-とい
うように書けるので命名ルールの一貫性が出るからです。
このスタイルの影響範囲はどこまで?②
命名ルールにMindBEMdingを取り入れる。
MindBEMdingとはBEMというCSS設計に基づく命名ルールです。BEMはBlock・Element
・Modifierという3つの役割をクラス名に使用することで影響範囲を明確にしたものです。
例えば.block__element--Modifierというように書くことができます。BlockとElementの間は
「 __ 」、ElementとModifierの間は「 — 」、Modifierも細分化できてKeyとValueの間は「
- 」を使うというルールがあり、役割と記号がユニークなので一目で意味がわかります。
✳︎「-」はプレフィックスとMindBEMdingのKeyとValueの間で使用しますが、プレフィックスは必ず大文字から始まるの
で混同することはありません。
似たようなスタイルが修正で全部対応しなちゃいけない…
スタイルの構造と見た目を切り離す。
先ほどのBEMでいうElementとModifierの関係で、Elementが構造にあたりModifierが見た目
(バージョン違い)になります。このように役割を分けることによって、共通の構造(例
えば形)に変更が生じた場合はElementのスタイルだけを修正すればすべてに反映されま
す。
HTMLの要素の変更があったから、CSSも修正しなきゃ
クラス名に要素セレクタを使用しない
例えば、h1.header__siteTitleというセレクタを書いていて、h1要素がp要素に変更になっ
たら、セレクタをp.header__siteTitleに変更しないといけません。そもそも
.header__siteTitleとしておけばセレクタの修正は必要ありません。またpセレクタのスタイ
ルにも影響を受けません。
✳︎ここではあくまでセレクタ名についての話です。reset.cssが適用されていれば、さらにスタイルについても修正
が不要の可能性が高いですが、normalize.cssの場合は必要に応じてスタイルも調整が必要になります。
すでに効いている他のスタイルの詳細度が強すぎて上書きの修正が必要…
セレクタの詳細度は最小限に。
例えば、html body header h1.header__siteTitle aというセレクタを書くのではなくて、
.header__siteTitleLinkと書く。詳細度を最小限にすることによって、他のスタイルの影響
を与えないようにする。
✳︎テキストリンクの色を全て共通にする場合は、baseについてのみ記述するスタイルで調整する。この時は要素セ
レクタを使用するのが効率的です。FLOCSSの_base.scss。
関連するスタイルがCSSファイルに散らばっていて修正しづらい…
次の3つのレイヤーと、Objectレイヤーの子レイヤーで役割によってファイルを細か
く分け、最終的にCSSプリプロセッサでコンパイル。
Foundation
Layout
Object
├──Component
├──Project
└──Utility
すでにあるスタイルでどういうものがあるの?既存のスタイルを使いたい
スタイルガイドを活用する。例えばStyledoccoとか。
何を信じるかの目を養おう

人の言うことを簡単に信じるな!

Editor's Notes

  • #3 騙されやすい人みたいな感じになってるかもしれません。 運が良くなる壺とかは買っていませんので。。。
  • #5 ビギナー部では、HTML5ビギナーズという勉強会を開催しています。 やる内容によりますが、200人以上来る勉強会のときもあったりとなかなか盛況だったりします。 https://www.facebook.com/beginhtml5/ スタッフブログっていうのもあるのですが、こちらはちょっと更新されていないのでまぁ適当に無視してください。 これまでの開催内容は。。。 キャリアデザインを考える 置いてきぼりにされない現在のスキルとは JSおじさんとのコラボ CSS設計 第8回(14/11/27):AngularJS 第7回(14/09/04):Chrome開発者ツール、インブラウザデザイン 第6回(14/06/14):トークセッション。ビギナーの勉強方法を考えよう 第5回(14/05/23):jQuery 第4回(13/12/13):ブラウザデバッグツールの使い方 第3回(13/10/23):CSSレイアウト、コード最適化 第2回(13/07/26):初めてのHTML5、スマホコーディング、jQueryMobile 第1回(13/06/21):HTML5、UI/UX、Webデザイン、Windows8アプリ、ブラウザ状況
  • #6 HTML5 JAPAN CUP 2014というアワードに参加したのがきっかけでした。 https://5jcup.org/ その5J CUP のキャッチコピーが「日本のWebをだぎらせろ!」というもので、自分は業界的にすごい人ではないけどたぎらせるベースずくりくらいならできそうと思い、ビギナー部に入部させていただきました。 この体験が今の河島を作っているといっても過言ではないですね。
  • #7 で、仕事は株式会社フリーセルというところで主にフロントエンドをやっており、他にも媒体管理や写真撮影、社内トレーナー、ストリートアカデミーの講師、アクセス解析をやったりマーケティングオートメーション周りなどいろいろやっています。 https://www.freesale.co.jp/ 事業の紹介、事例に力を入れていて自分がこの事例のインタビューとかの責任者です。 このサイトのアクセス解析とかをやっています。 昔GAIQという認定資格を持っていたのですが、期限がきれて更新していないです。 まぁ一回会社にパーソナルブランディングできたからいいかなと思って。。。簡単ですがアクセス解析もできますよということです。
  • #8 コラム10回でもう入稿終わりました。締め切りに追われるのは辛いですね。。。
  • #9 受けた人no.1の人気講座です!
  • #10 ここだけ見ると自己啓発のセミナーみたいですが違いますよ
  • #12 この図、見たことある人いるかもしれません。 現状の知識としてこれが頭に入っている人どれくらいいるのかな? 入っていなくても全然良いですよ。 というのも。。。
  • #13 CSSはxmlとかsvgでも使えるし、htmlに内包されているものではないですよね
  • #14 他人の責任にしないで自分の責任と考えましょう。 というのも初心者の人は誰かに助けを求めることがあると思いますが、それがクセになると困る。 質問することは悪くないんですが、聞かれる方も大変だし、第一聞質問する方が成長しない。
  • #18 どっちが安心できますか? どっちが自信持って答えれますか?