Replies: 1 comment
命名規則についてクラスの命名規則を決めるOOCSS、BEM、SMACSS(、TailwindCSS)などが有名。 命名規則を決めるにあたって1. 汎用的なクラス名はNG重複が起きたりどこのスタイルかわからなくなったりするため具体性と意味を持たせる。 2. 単語を定義しておくどの単語がどういう立ち位置にあるのか決めて表などにしておくとわかりやすい(独自ルール)。
(もちろんcontainerの下に直接boxが来てもよい) <div class="index-button-wrapper">
<button class="index-button"></button>
</div>参考:Qiita/[CSS設計]わたしはクラス名でもう悩まない[BEMベース] 3. 使い回しを考えるどうにか共通部分を作れないか考える(OOCSS的)。 <div class="index-button bg-red”></div>
<div class="index-button bg-green”></div>
<div class="index-button bg-blue”></div>
ユニークではないコンポーネント、モジュールはまとめてcommon.cssに書いておく(Tailwind踏襲)。reset.cssの延長とも言える。 a {
color: #ff9400;
text-decoration: underline;
}4. 状態変化状態変化のスタイルについてはクラス名を「.is-〇〇」にする(SMACSS的) .send-button.is-error{
background-color: red;
}のように指定する。 .is-hidden{
display:none;
}はよく使うし共通部分に書いておく。どんな要素でもhiddenはhiddenなので。 単位の使い方を考えるプロパティ別に決める個人的に、font-sizeはrem、画面サイズによって変わるものはvw、幅いっぱいは100%、それ以外の固定値はpx管理、というふうにやっていた(例外はいくつかあるが)。 Reset.cssについて個人的おすすめdestyle.cssで全て消すのが一番よい。destyle.css 理由 チェックボックスとかラジオボタンとかはそのまま使うから消したくない!っていうのであればdestyle.cssからチェックボックスの部分を除くなどすればよい。 UIライブラリブラウザ間の差はWebデザインの敵、デフォルトに頼るよりはshadcn/uiなどUIライブラリとか使う方が断然良い。 common.css(global.css)何を書くか
余白の優先順位gap > padding > marginmarginについて
gapについて「いくつかの要素の間に同じ幅の余白をつけたい」というとき、親要素に ちょっとレイアウト変更するぞという時もflexやgridの方が柔軟。 imgタグの扱い直接スタイルを当てない
とそれ以外スタイルは当てないと固定してもいいくらい。 vwの扱いvwの特性画面いっぱいにしたいなら横は レスポンシブにおけるvwのよさレスポンシブデザインを使う時にはvwはとてもありがたい存在。親要素のサイズによらず画面幅で要素のサイズを決められるので「%指定したら要素極端に小さくなっちゃった」みたいなことはなくなる。 基本Figmaはpx管理なのでFigmaとの互換・計算も簡単。Aが画面の何%で、BがAの何%で、CがBの……ってなると大変だが、vwだと参照先がひとつなので分かりやすいし柔軟性も高い。 デメリットとしては割り切れない時に「83.33333vw」みたいになるところ。ただレスポンシブのサイトを見ているとこれを採用してるところも多いし、ピクセルパーフェクトは目指さなくていいと思っているので。 ボタンとか小さい要素はpxの方がよい。 %やvwを採用するのであればmin-widthを必ずつけること! vhの使い方vhの仲間にはdvhやsvhなどもあるので場合によって使い分けるのがよさそう。 メディアクエリモバイルサイズとデスクトップサイズでレイアウトを変えるために 単にサイズが変わるよ、なら上の方法で良いのだが、gridをflexに変えるだとかレイアウト上で大きな変更がある場合、共通部分だけを標準のスタイルで書き、 詳細度セレクタの詳細度を意識する。 ネストするのであれば物理的に入れ子にした方が見やすく重複も減るのでよい。 .box{
display: flex;
gap: 8px;
.item{
width: 32px;
background-color: #fff;
}
}そして混乱のもとになる 中央寄せ上下左右中央寄せは従来 .hoge {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50% -50%) ;
}もしくは .hoge {
position: absolute;
inset: 0;
margin: auto;
}という書き方が一般的であったが、gridが普及した今、 動きのアニメーションをつけるとき 参考:最短2行。上下左右中央揃えにはCSS Gridが一番ラク その他細かいことbodyにbackground-colorを必ず指定すること!普通にブラウザで見る分には問題ないのだが、iPhoneのTwitterアプリからリンクを踏んで飛んだとき、つまりTwitterアプリ内でサイトが開かれたとき、Twitterの
要素の”大きさ”を気にする(サイズじゃなくて)例えばpタグの中にdivタグを入れない、spanタグの中にpタグを入れないなど。HTMLは進化しているので正しく表示されるが、見かけ上良くない。SEOにも良くない(らしい)。 pxについて基本pxは8px単位で、小さいものは4px単位でおく。 subgridが便利カードのようなレイアウトを作りたいとき、 flexとgridは便利
図形や装飾図形や装飾は思ったより複雑なものでもCSSで作れる。画像はできるだけ置きたくない。もしiconなど置くようであればSVGがよい。 再利用性を考える見かけOKならコードなんでもいいは良くない、詳しくは:X / kskwtnk インタラクティブコンテンツボタンやリンクなどHTMLのinteractive contentsはそれ自体のスタイルやbox-shadow、ホバー時のカーソル変化、色変化などで"アクティブである"ことをちゃんと見せる。 |




Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
CSSのベストプラクティスを考える
CSSでデザインをする上でどのように構築するべきかを考える。
normalize.csssanitize.cssglobal.cssには何を書くべきなのかAll reactions