{"data":{"site":{"siteMetadata":{"title":"bauhausify","siteUrl":"https://www.bauhausify.com","subtitle":"美大出身のWEBエンジニアリング奮闘記","descriptionMyself":"\n多摩美術大学<br>プロダクトデザイン専攻卒業 -> <br>GUIデザイン会社勤務 -><br>\n現在フロントエンジニア<br>\n<br>\nMy site -><br>\n<a href=\"http://www.mwrote.com\">www.mwrote.com</a>\n"}},"markdownRemark":{"id":"b1d3973a-65b6-5631-ae87-d3334f795deb","html":"<p>以前は、SMACCSやBEMを仕事で使っていました。しかし、今は<a href=\"https://rscss.io/\" target=\"_blank\" rel=\"noopener noreferrer\">RSCSS</a>というCSS記法に落ち着いています。</p>\n<h2 id=\"ルーズだけど破綻しない\"><a href=\"#%E3%83%AB%E3%83%BC%E3%82%BA%E3%81%A0%E3%81%91%E3%81%A9%E7%A0%B4%E7%B6%BB%E3%81%97%E3%81%AA%E3%81%84\" aria-label=\"ルーズだけど破綻しない permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>ルーズだけど破綻しない</h2>\n<p>RSCSSの特徴は一言で言うなら、ミニマムです。</p>\n<ul>\n<li>公式のドキュメントは絵が殆どで非常にわかりやすい、Google翻訳で問題なく読める</li>\n<li>ルールが厳選されており、覚えることが少なく導入しやすい</li>\n<li>BEMのコンポーネントの捉え方が取り込まれている。Block,Element,Modifierあたり</li>\n<li>SMACCSのようなマルチクラス前提。Modifierもマルチクラスで指定</li>\n<li>書き方が非常に簡潔。例えばModifierは<code class=\"language-text\">-</code>で始まり、打ち消し系クラスは<code class=\"language-text\">_</code>で始まる</li>\n</ul>\n<h2 id=\"これだけは守らないといけないこと\"><a href=\"#%E3%81%93%E3%82%8C%E3%81%A0%E3%81%91%E3%81%AF%E5%AE%88%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%84%E3%81%91%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8\" aria-label=\"これだけは守らないといけないこと permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>これだけは守らないといけないこと</h2>\n<p>RSCSSのルールの中から、これだけは守らないと破綻します。</p>\n<h3 id=\"コンポーネントベースでuiを捉える\"><a href=\"#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A7ui%E3%82%92%E6%8D%89%E3%81%88%E3%82%8B\" aria-label=\"コンポーネントベースでuiを捉える permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>コンポーネントベースでUIを捉える</h3>\n<p>コンポーネントでデザインを捉えることが前提です。<br>\n2箇所以上同じコードの塊があり、見た目が同じか派生している場合、私はコンポーネントと捉えます。<br>\nあっこれどっかで似たようなの書いてるとあれば、コンポーネント化を考えましょう。</p>\n<h3 id=\"コンポーネントは2単語以上ハイフンつなぎ子要素は1単語\"><a href=\"#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AF2%E5%8D%98%E8%AA%9E%E4%BB%A5%E4%B8%8A%E3%83%8F%E3%82%A4%E3%83%95%E3%83%B3%E3%81%A4%E3%81%AA%E3%81%8E%E5%AD%90%E8%A6%81%E7%B4%A0%E3%81%AF1%E5%8D%98%E8%AA%9E\" aria-label=\"コンポーネントは2単語以上ハイフンつなぎ子要素は1単語 permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>コンポーネントは2単語以上ハイフンつなぎ、子要素は1単語</h3>\n<p>以下のように2単語以上でコンポーネントを命名し、\n子要素(Element)は1単語で命名します。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token selector\">> .icon</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token selector\">> .text</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<br>\n以下のようなコードを書くと、<br>\n簡単にGlobal汚染してしまいます。\n<p><img class=\"emoji-icon\" alt=\"emoji-x\" data-icon=\"emoji-x\" style=\"\" src=\"data:image/png;base64, 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\" title=\"emoji-x\" /> 1単語のコンポーネントはだめです。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.button</span> <span class=\"token punctuation\">{</span>\n\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p><img class=\"emoji-icon\" alt=\"emoji-x\" data-icon=\"emoji-x\" style=\"\" src=\"data:image/png;base64, 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\" title=\"emoji-x\" /> コンポーネントの中にコンポーネントではない2単語以上もだめです。それが他で定義済みのコンポーネントなら問題ないです。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token selector\">> .button-icon</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">/* コンポーネントじゃないここでしか登場しないスタイル */</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token selector\">> .text</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3 id=\"コンポーネントの中の要素の指定はすべてセレクタを使用する\"><a href=\"#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%AE%E8%A6%81%E7%B4%A0%E3%81%AE%E6%8C%87%E5%AE%9A%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%82%BB%E3%83%AC%E3%82%AF%E3%82%BF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B\" aria-label=\"コンポーネントの中の要素の指定はすべてセレクタを使用する permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>コンポーネントの中の要素の指定はすべてセレクタを使用する</h3>\n<p>子セレクタを使用して、<br>\n<em>必ずそのコンポーネント直下の1単語のクラス</em> にのみスタイルが適用されるようにします。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.description-panel</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token selector\">> .title</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p><img class=\"emoji-icon\" alt=\"emoji-x\" data-icon=\"emoji-x\" style=\"\" src=\"data:image/png;base64, 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\" title=\"emoji-x\" /> 以下のようにしてしまうと、<code class=\"language-text\">.description-panel</code>のDOM要素以下のコンポーネント<code class=\"language-text\">.title</code>を使ったすべてコンポーネントに影響がでてしまいます。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.description-panel</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token selector\">.title</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3 id=\"コンポーネント自身に自信のサイズ定義をかかない\"><a href=\"#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E8%87%AA%E8%BA%AB%E3%81%AB%E8%87%AA%E4%BF%A1%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E5%AE%9A%E7%BE%A9%E3%82%92%E3%81%8B%E3%81%8B%E3%81%AA%E3%81%84\" aria-label=\"コンポーネント自身に自信のサイズ定義をかかない permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>コンポーネント自身に自信のサイズ定義をかかない</h3>\n<p>コンポーネント自身のサイズは親に書きます、<br>\nこれをしないと他の場所でそのコンポーネントを使い回せません。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.button-group</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token selector\">> .primary-button</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100px<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\">/* 自身のサイズ定義はかかない */</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p><img class=\"emoji-icon\" alt=\"emoji-x\" data-icon=\"emoji-x\" style=\"\" src=\"data:image/png;base64, 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\" title=\"emoji-x\" /> 例えば幅100%で使いたいといったときに、わざわざ打ち消さないといけません。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100px<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3 id=\"コンポーネント単位でファイルを区切る\"><a href=\"#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E5%8D%98%E4%BD%8D%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%8C%BA%E5%88%87%E3%82%8B\" aria-label=\"コンポーネント単位でファイルを区切る permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>コンポーネント単位でファイルを区切る</h3>\n<p><em>クラス名の重複</em> を防ぐことができます。<br>\n2単語以上ハイフンつなぎの命名規則は、チーム人数多いとかぶりやすいです。</p>\n<h2 id=\"追加したほうが良さそうなルール\"><a href=\"#%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%81%BB%E3%81%86%E3%81%8C%E8%89%AF%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E3%83%AB%E3%83%BC%E3%83%AB\" aria-label=\"追加したほうが良さそうなルール permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>追加したほうが良さそうなルール</h2>\n<h3 id=\"命名するときの共通の言葉集が必要\"><a href=\"#%E5%91%BD%E5%90%8D%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E5%85%B1%E9%80%9A%E3%81%AE%E8%A8%80%E8%91%89%E9%9B%86%E3%81%8C%E5%BF%85%E8%A6%81\" aria-label=\"命名するときの共通の言葉集が必要 permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>命名するときの共通の言葉集が必要</h3>\n<p>見た目や機能に対してどんな英語を使うのか共通化すると、<br>\nチームで運営した際に、もっとリーディングしやすくなります。</p>\n<p><a href=\"https://codic.jp/\" target=\"_blank\" rel=\"noopener noreferrer\">codic</a>などの辞書サイトで、検索した言葉を使うようにしましょう。<br>\n一人でしか触らない場合はあまり必要はないです。</p>\n<h3 id=\"media-queryの中に原則クラス定義をかかない\"><a href=\"#media-query%E3%81%AE%E4%B8%AD%E3%81%AB%E5%8E%9F%E5%89%87%E3%82%AF%E3%83%A9%E3%82%B9%E5%AE%9A%E7%BE%A9%E3%82%92%E3%81%8B%E3%81%8B%E3%81%AA%E3%81%84\" aria-label=\"media queryの中に原則クラス定義をかかない permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>Media Queryの中に原則クラス定義をかかない</h3>\n<p>あとからコードを移植しやすいように、クラス定義の中にスタイルを書きます。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">font-size</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span>\n\n  <span class=\"token atrule\"><span class=\"token rule\">@media</span> <span class=\"token punctuation\">(</span><span class=\"token property\">min-width</span><span class=\"token punctuation\">:</span> 480px<span class=\"token punctuation\">)</span></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">font-size</span><span class=\"token punctuation\">:</span> 14px<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p><img class=\"emoji-icon\" alt=\"emoji-x\" data-icon=\"emoji-x\" style=\"\" src=\"data:image/png;base64, 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\" title=\"emoji-x\" /> 以下のように書いてしまうと、<code class=\"language-text\">.primary-button</code>を移植する場合、場所が離れてしまい移動しづらいです。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">font-size</span><span class=\"token punctuation\">:</span> 20px<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token comment\">/* ここに他のコンポーネントの定義も書かれている */</span>\n\n<span class=\"token atrule\"><span class=\"token rule\">@media</span> <span class=\"token punctuation\">(</span><span class=\"token property\">min-width</span><span class=\"token punctuation\">:</span> 480px<span class=\"token punctuation\">)</span></span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token comment\">/* ここに他のコンポーネントの定義も書かれている */</span>\n\n  <span class=\"token selector\">.primary-button</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">font-size</span><span class=\"token punctuation\">:</span> 14px<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2 id=\"破ったルール\"><a href=\"#%E7%A0%B4%E3%81%A3%E3%81%9F%E3%83%AB%E3%83%BC%E3%83%AB\" aria-label=\"破ったルール permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>破ったルール</h2>\n<h3 id=\"ネストはdomの階層構造とリンクしていればok\"><a href=\"#%E3%83%8D%E3%82%B9%E3%83%88%E3%81%AFdom%E3%81%AE%E9%9A%8E%E5%B1%A4%E6%A7%8B%E9%80%A0%E3%81%A8%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%97%E3%81%A6%E3%81%84%E3%82%8C%E3%81%B0ok\" aria-label=\"ネストはdomの階層構造とリンクしていればok permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>ネストはDOMの階層構造とリンクしていればOK</h3>\n<p>SCSSであることが前提ですが、HTMLの構造を維持して、CSSを書いていきます。</p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.description-panel</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token selector\">> .main</span> <span class=\"token punctuation\">{</span>\n\n    <span class=\"token selector\">> .title</span> <span class=\"token punctuation\">{</span>\n\n    <span class=\"token punctuation\">}</span>\n\n  <span class=\"token punctuation\">}</span>\n\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>RSCSSでは、ネストは直接の子までです。<br>\nしかし、深いネストを避けるにはコンポーネントをさらに分けなければなりません。<br>\nそうすると、時間がかかり、コンポーネントの場所が離れてしまい編集しづらくなります。\nただ、チーム共通のライブラリの用途等の場合は、しっかりコンポーネントを分けて作りましょう。<br></p>\n<br>\n以上になります。<br>\n<p>どうでしょうか、長々しく書いてしまいましたが、<br>\nまずは<a href=\"https://rscss.io/\" target=\"_blank\" rel=\"noopener noreferrer\">公式のドキュメント</a>をみるのをおすすめします。<br>\n非常にわかりやすいです。<br></p>\n<p>そして実際に書いてみてください。<br>\n今までBEMなどで厳格に書いていた人は非常に書きやすいと感じるかと思います。</p>\n<p>他にも、CSSの種別と読み込み順の設計方法である<a href=\"https://itcss.io/\" target=\"_blank\" rel=\"noopener noreferrer\">itcss</a>と組み合わせるとよりいいのですが、<br>\nそれは後日書きます。</p>\n<p>Happy Coding CSS!</p>","fields":{"slug":"/2019-08-30_BEMSMACCSを受け継いだ書きやすいCSS記法RSCSS/"},"tableOfContents":"<ul>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%83%AB%E3%83%BC%E3%82%BA%E3%81%A0%E3%81%91%E3%81%A9%E7%A0%B4%E7%B6%BB%E3%81%97%E3%81%AA%E3%81%84\">ルーズだけど破綻しない</a></li>\n<li>\n<p><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%81%93%E3%82%8C%E3%81%A0%E3%81%91%E3%81%AF%E5%AE%88%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%84%E3%81%91%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8\">これだけは守らないといけないこと</a></p>\n<ul>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A7ui%E3%82%92%E6%8D%89%E3%81%88%E3%82%8B\">コンポーネントベースでUIを捉える</a></li>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AF2%E5%8D%98%E8%AA%9E%E4%BB%A5%E4%B8%8A%E3%83%8F%E3%82%A4%E3%83%95%E3%83%B3%E3%81%A4%E3%81%AA%E3%81%8E%E5%AD%90%E8%A6%81%E7%B4%A0%E3%81%AF1%E5%8D%98%E8%AA%9E\">コンポーネントは2単語以上ハイフンつなぎ、子要素は1単語</a></li>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%AE%E8%A6%81%E7%B4%A0%E3%81%AE%E6%8C%87%E5%AE%9A%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E3%82%BB%E3%83%AC%E3%82%AF%E3%82%BF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B\">コンポーネントの中の要素の指定はすべてセレクタを使用する</a></li>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E8%87%AA%E8%BA%AB%E3%81%AB%E8%87%AA%E4%BF%A1%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E5%AE%9A%E7%BE%A9%E3%82%92%E3%81%8B%E3%81%8B%E3%81%AA%E3%81%84\">コンポーネント自身に自信のサイズ定義をかかない</a></li>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E5%8D%98%E4%BD%8D%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%8C%BA%E5%88%87%E3%82%8B\">コンポーネント単位でファイルを区切る</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%81%BB%E3%81%86%E3%81%8C%E8%89%AF%E3%81%95%E3%81%9D%E3%81%86%E3%81%AA%E3%83%AB%E3%83%BC%E3%83%AB\">追加したほうが良さそうなルール</a></p>\n<ul>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E5%91%BD%E5%90%8D%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E5%85%B1%E9%80%9A%E3%81%AE%E8%A8%80%E8%91%89%E9%9B%86%E3%81%8C%E5%BF%85%E8%A6%81\">命名するときの共通の言葉集が必要</a></li>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#media-query%E3%81%AE%E4%B8%AD%E3%81%AB%E5%8E%9F%E5%89%87%E3%82%AF%E3%83%A9%E3%82%B9%E5%AE%9A%E7%BE%A9%E3%82%92%E3%81%8B%E3%81%8B%E3%81%AA%E3%81%84\">Media Queryの中に原則クラス定義をかかない</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E7%A0%B4%E3%81%A3%E3%81%9F%E3%83%AB%E3%83%BC%E3%83%AB\">破ったルール</a></p>\n<ul>\n<li><a href=\"/2019-08-30_BEMSMACCS%E3%82%92%E5%8F%97%E3%81%91%E7%B6%99%E3%81%84%E3%81%A0%E6%9B%B8%E3%81%8D%E3%82%84%E3%81%99%E3%81%84CSS%E8%A8%98%E6%B3%95RSCSS/#%E3%83%8D%E3%82%B9%E3%83%88%E3%81%AFdom%E3%81%AE%E9%9A%8E%E5%B1%A4%E6%A7%8B%E9%80%A0%E3%81%A8%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%97%E3%81%A6%E3%81%84%E3%82%8C%E3%81%B0ok\">ネストはDOMの階層構造とリンクしていればOK</a></li>\n</ul>\n</li>\n</ul>","frontmatter":{"date":"2019.08.30","title":"BEM, SMACCSを受け継いだ書きやすいCSS記法RSCSS","cover":"","category":"Coding","excerpt":"気軽にCSS書きたいけどGlobal汚染して破綻するのは避けたい。RSCSSというCSS記法(設計)はそんなケースにぴったりです。私は2年ほど前から今もずっと使い続けているので、その特徴などをコードベースでご紹介します。"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"b1d3973a-65b6-5631-ae87-d3334f795deb","next":{"path":"/2019-08-27_フォーミュラによる美しいパターンをjavascriptで描く/","title":"フォーミュラによる美しいパターンをJavaScriptで描く","category":"Design"},"prev":{"path":"/2019-09-02_p5jsのコードをsketchファイル上で実行する方法/","title":"p5jsのコードをsketchファイル上で実行する方法","category":"Coding"},"relatedPosts":[{"id":"5732c3b3-4830-56a4-a897-9ad20e605e6f","fields":{"slug":"/2019-07-23_かわいいファミコン風CSSライブラリNEScss/"},"frontmatter":{"title":"かわいいファミコン風CSSライブラリNES.css","date":"2019-07-23T00:00:00.000Z","excerpt":"簡単にファミコン風の見た目にするCSSライブラリ NES.css について、その内容や導入方法、使用感などをレポートします。","templateKey":"post","category":"Coding","propertags":null,"commontags":["css","component"]}}]}}