transition を指定する時はプロパティも指定する
/* Bad... */
a {
transition: .2s;
}
/* Good!! */
a {
transition: opacity .2s;
}
PC/SPの画像の切替えは display: none でやらない
<!-- Bad... -->
<img src="pcの画像" alt="" class="pc">
<img src="spの画像" alt="" class="sp">
/* Bad... */
.pc {
display: none;
}
@media screen and (min-width: 640px) {
.pc {
display: block;
}
.sp {
display: none;
}
}
<!-- Good! -->
<picture>
<source media="(min-width:768px)" srcset="pcの画像">
<source media="(max-width:767px)" srcset="spの画像">
<img src="pcの画像">
</picture>
background-image より <img> を使うようにする
背景で使う画像も基本的には<img>で読み込むようにしましょう。<img>はdecoding=”async”とloading=”lazy”が使えます。これらを使うとサイトパフォーマンスが良くなる傾向にあります。
height はできるだけ使わない
要素の高さ(文章の行数など)は画面幅に応じて高くなったり低くなったりするので、高さを固定すると文字がはみ出したりすることがあります。
width より max-width を使う
/* Bad... */
div {
width: 600px;
}
@media screen and (max-width: 640px) {
div {
width: 100%;
}
}
/* Good! */
div {
width: 100%;
max-width: 600px;
}
要素数が可変する時は justify-content: space-between は使わない
要素の数が変わる時は、justify-content: space-betweenは使わずにmarginなどで調整するようにしましょう。
空タグより擬似要素を使う
<div class="line"></div>
/* Bad... */
.line { ... }
/* Good! */
.parent::before { ... }
スタイルを書く順番をルール化する
/* Bad... */
.foo {
background-color: #f00;
color: #fff;
text-align: center;
padding: 20px;
font-size: 20px;
width: 100%;
margin: 10px auto;
font-weight: bold;
height: 20px;
}
/* Good! */
.foo {
color: #fff;
font-size: 20px;
font-weight: bold;
text-align: center;
background-color: #f00;
width: 100%;
height: 20px;
margin: 10px auto;
padding: 20px;
}
マイルール
1.display
2.font(color, font-size, text-align etc)
3.background
4.border
5.width, height
6.margin, padding
7.position
8.使用頻度が低いスタイル(overflow, transition, animation etc)
連続するアイコン画像は全て同じサイズで書き出す
アイコンのサイズぴったりに書き出すと、画像サイズがそれぞれバラバラになってしまいます。サイズがバラバラだと、ひとつひとつにwidthやheightを指定しなければいけません。
アイコンの外側に余白を作り、その余白ごと書き出せば全ての画像サイズが同じになります。こうすることで、ひとつひとつにwidthやheightを指定する必要はなくなります。
box-sizing: border-box を全ての要素に指定する
*,
::before,
::after {
box-sizing: border-box;
}
(Visited 24 times, 1 visits today)