![https://geechs-magazine.com/tag/lifehack/20160513](https://cdn-ak-scissors.b.st-hatena.com/image/square/14150d922bd288a94e0abc582dd252a5380de9bd/height=288;version=1;width=512/https%3A%2F%2Fgeechs-magazine.com%2Fwp-content%2Fuploads%2F2016%2F05%2F20160513-640x426.png)
前置き - CSS 設計が難しい件について 誤解を恐れずに言うならば、CSS は変数も関数も条件分岐もない、ある種ゆるふわな言語(仕様)といえます。そのためプログラミング言語のように記述ミス一つで全ての挙動が止まるなんてことはありませんし、いくら冗長に記述しようがブラウザ上での挙動に差異が生まれることも殆どありません。ちょっと嗜めばそれっぽいものが作れてしまうので、マークアップエンジニアのいない小規模体制の組織であれば、サーバーサイドエンジニアやデザイナーが片手間で習得して実装してしまうというのも珍しいことではないでしょう。それでも良かったのかもしれません。これまでは…。 片手間で学習した知識というのはなかなか体系化されないものです。CSS も御多分に漏れずプログラミングのテクノロジーは日進月歩なため、その時は最新だった技術が僅か一年も経たないうちに廃れてしまい、バッドノウハウ化してしまう
CSS は、比較的簡単に使いこなすことができます。しかし、それを使い続け綺麗な状態を長期的に保つこととは全く別の話です。知らず知らずのうちに乱雑になっていきます。ありがちですよね?そんな時、命名規則の出番です。様々な選択肢がある中で私が選んだのが BEM なのです。 BEM とは何か BEM とは、命名規則の一種で、モジュラーでメンテナンス可能なスタイルを書くことができます。 BEM は、Block-Element-Modifier の略語で、クラス名は3つ[^1]のパートから成ります。実際の表記は block__element--modifier となり、Block から始まり、次に Element(アンダースコアが2つ)、そして最後に Modifier が続きます(ダッシュが2つ)。 画像1:BEM で命名されたコンポーネントの例 Block(ブロック) Block は、独立しており再
BEMのいいところは、それが何者なのかが明白ということに尽きる。とある要素を見たときに、そのスタイルがどこに書かれているのか、何を表しているのかがクラス名を見ればわかる。手を入れる際も、どこに追記すればよいのか、どれくらいの影響を及ぼすのかの大部分が推測できる。 レスポンシブ・デザインと相性がいいとか、流行りのコンポーネント指向と相性がいいなど、BEMの良さは他にもいくつか挙げられるけど、決定的なのは明瞭さであると思う。 BEMを使いはじめてかれこれ3,4年くらい経った。その間に色々な命名規則や設計思想が登場してきたけれども、今のところは浮気する程の魅力を他に感じることもなくBEM一筋でやってきている。ただし実践するにつけて、より明瞭で破綻しづらい設計を実現するために、様々な制約やガイドを設けてやってきたので、「もともとのBEM」からは多少なり離れているかもしれない。 ただし、それはBEM
皆さんこんにちはnomalです。 最近ブログをはじめたから余計にMacBook Airほしいなーなんて考えてます。MacBook Proを購入して五年目だけど、あと三年くらいは頑張ってくれそう。Mac貯金はじめようかな。 さて、今日はサイトをコーディングするにあたって必要なマークアップについてです。 マークアップエンジニアという役職があるくらい、マークアップって重要!と一本新規で1ページコーディングを経験した私は、心の底から作ってる最中に感じました。マークアップ構成をグダるとCSSがどんどん長くなってしまって、一ヶ月後に修正が入った時に「あれ?ここなんでこんなプロパティ入ってるんだっけ?」とか「そもそもどこを修正したら良いのか分からない!」なんて事態に作った本人が陥りがちです。 故に、他の人が代理修正するときに激しく時間をロスする可能性だってあるわけです。 自分だけじゃなく、他人の時間を奪
こんにちは。マツコです。 突然ですが、CSS設計はとても重要なものです。 一定のルールがないと、コーダー各々が違う考え方でスタイルづけをして余計なCSSが増えてしまったり、本人でなければ分からないルールが発生してしまい、メンテナンスがしにくくなってしまいます。 そのため、以下のことを強く意識してCSS設計を行うことが大切だと言われています。 予測しやすい 再利用しやすい 保守しやすい 拡張しやすい 今回は上記の目的を達成するヒントとなる、著名なCSS設計手法である「OOCSS」「BEM」「SMACSS」についてお話したいと思います。 概要 Object Oriented CSS(オブジェクト指向CSS)の略。 オブジェクト指向に基づいて、考案された設計手法です。 Yahoo!のNicole Sulivan氏によって開発され、Twitter(とBootstrap)やGithub、Youtub
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く