CSSのプロのスキルになるようにアドバイスのリストを紹介します。
他のリストのため: Awesome リスト の [@sindresorhus](https://github.com/sindresorhus/) をチェックSしてください。.
unsetを使う
      :not() を使用 / ボーダーを削除
      bodyにline-heightを加える
      :focusを設定する
      :rootを使用
      CSSのリセットはスタイリング要素のための白紙の状態で異なるブラウザ間でスタイルの一貫性を強化するのに役立ちます。あなたはNormalize、_et al._のようにCSSのリセットライブラリを使用するか、より簡略化リセットアプローチを使用することができます。
      今の要素は、マージンやパディングを剥奪し、box-sizingは、CSSボックスモデルとレイアウトを管理することができますされます。
    
      注意:あなたがあなたのCSSのリセットでInherit box-sizing
      プロパティが含まれていないことを選択する可能性があります下にbox-sizingヒントに従っている場合。
    
box-sizingをコンポーネントごとに変更
    
      box-sizingはhtml要素で指定し、継承して利用すると、コンポーネントで変える時に簡単です。
    
      これでプラグインかその他のコンポーネントに
      box-sizing を変更しやすくなります。
    
unsetを使う
    要素のプロパティをリセットするときは、個々のプロパティをリセットする必要はありません。
button {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  outline: none;
  padding: 0;
}
    
      要素のプロパティのすべてを
      all省略形で指定することができます。 値を
      unsetに設定すると、要素のプロパティが初期値に変更されます:
    
      備考: IE11では
      allおよびunsetの省略形はサポートされていません。
    
:not()を使用して、リスト要素で実装したナビゲーションの最後のアイテムだけに区切り線を削除します。
    ボーダーを書いて。。。
ラストチャイルドで非表示するより
:not()を使用するとシンプルなコードで指定できます。
CSSセレクターは、境界線を人間が表現する方法で定義します。
フォントをリモートでフェッチする前に、フォントがローカルにインストールされているかどうかを確認できます。これもパフォーマンスのヒントになります。
@font-face {
  font-family: "Dank Mono";
  src:
    /* Full name */
    local("Dank Mono"),
    /* Postscript name */
    local("Dank Mono"),
    /* Otherwise, download it! */
    url("//...a.server/fonts/DankMono.woff");
}
code {
  font-family: "Dank Mono", system-ui-monospace;
}
    このプロチップとデモを共有してくれたAdam Argyleへの帽子のヒント.
body にline-heightを加える
    
      body要素でline-heightを指定することでp,
      h*などにその値が継承されるため、それぞれにline-heightを指定する必要がなくなります。
    
:focusを設定する
    視認されたキーボードユーザーは、キーボードイベントがページ内のどこに移動するかを決定するためにフォーカスを当てています。 フォーム要素のフォーカスを目立たせ、ブラウザのデフォルトの実装と一貫性を持たせる:
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  box-shadow: none;
  outline: #000 dotted 2px;
  outline-offset: .05em;
}
    なんでも天地の中央に配置できます!!
html,
body {
  height: 100%;
  margin: 0;
}
body {
  -webkit-align-items: center;  
  -ms-flex-align: center;  
  align-items: center;
  display: -webkit-flex;
  display: flex;
}
    …CSSグリッド:
なんでも中央に揃いたいですか? CSS-Tricks のセントリングガイド をチェックしてください。
備考: IE11のFlexboxの バグを気をつけてください
リストの各アイテムをカンマ区切りにします。
      :not()
      を使えば最後のエレメントにカンマ追加されないようにします。
    
備考: アクセシビリティによくないので気をつけてをお使いください。
:nth-child を使用してアイテムを選択
    nth-childにはネガティブな値も指定できます。
li {
  display: none;
}
/* select items 1 through 3 and display them */
li:nth-child(-n+3) {
  display: block;
}
    
      また
      :not() を使用してこちらをのコードを書いてみてください:
    
/* select all items except the first 3 and display them */
li:not(:nth-child(-n+3)) {
  display: none;
}
    簡単でしょう〜!
アイコンとしてSVGを使えない理由がないです!
SVGは IE9以降のすべてのブラウザでサポートされています。
備考: ボタンがSVGだけで作られている場合、SVGがローディングされなかったらアクセシビリティのためこちらのコードを書いて見てください:
      変な名前ですが(*) と (+)
      を使用するとパワフルCSSセレクターになります!
    
      全てのページの要素にある要素がmargin-top: 1.5emをもらいます。
    
Owlについて詳しくはこちら:List Apart のヘイドンピケリングの記事
max-heightを使う
    
      CSSで実装されたスライダーは、max-heightをoverflow: hidden;と一緒に使ってください。
    
.slider {
  max-height: 200px;
  overflow-y: hidden;
  width: 300px;
}
.slider:hover {
  max-height: 600px;
  overflow-y: scroll;
}
    
      ホバーの時max-heightの要素を拡張オバーフローの結果でスライダーが表示されます。
    
      テーブルの各セルの幅を均等にするには、table-layout: fixed;を使うと簡単にできます。
    
簡単にテーブルレイアウトを作れます。
      flexboxでカラムの溝をつくる時、nth-,
      first-,
      last-childなどのハックで最後の溝を取り除くことができますが、それはflexboxのspace-betweenプロパティを使うだけで解決します。
    
columnのスペースが揃えている。
      リンクのhref属性にはURLがあり、リンクのテキストがない場合に、下記のCSSを使用すると、リンク先のURLを表示します。
    
便利ですよー!
:notを使ってデフォルトのリンクをスタイル
    デフォルトのリンクのスタイルを追加:
      CMSで挿入される通常class属性を持たないリンクに:notを使ってスタイルを定義します。
    
      ボックスを内在比率で作成するには、ボックスの上部か下部にdivの詰め物を適用します。
    
.container {
  height: 0;
  padding-bottom: 20%;
  position: relative;
}
.container div {
  border: 2px dashed #ddd;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
    paddingに20%を使っているのは、そのボックスの高さを幅の20%と等しくします。ビューポートの幅に関わらず、子のdiv要素のアスペクト比は「100%:20%(5:1)」を保持します。
よりよいユーザエクスペリエンスを提供するために、リンク切れの画像要素にスタイルを定義します。もちろんリンク切れがないのがベストですが、絶対に存在しない訳ではありません。
img {  
  display: block;
  font-family: sans-serif;
  font-weight: 300;
  height: auto;
  line-height: 2;
  position: relative;
  text-align: center;
  width: 100%;
}
    疑似要素を使い、ユーザーの役に立つ情報を加えることもできます。
img::before {  
  content: "We're sorry, the image below is broken :(";
  display: block;
  margin-bottom: 10px;
}
img::after {  
  content: "(url: " attr(src) ")";
  display: block;
  font-size: 12px;
}
    このようなスタイリングに興味があればこちらに参考してください:イレ アデリノクン’ リンク切れの画像についての記事.
rem、ローカルにemを使用
    
      ベースのフォントサイズをhtml{font-size: 16px;}にルート指定し、テキスト要素をemで指定します。
    
モジュールのフォントサイズはremで指定します。
モジュールごとに分けるとスタイルするのが簡単で、メンテナンス性もアップします。
これはカスタマイズされたユーザースタイルシートのための素晴らしいテクニックです。ページがロードされた時、動画が自動再生されて音がでてしまうユーザーの負担を軽減します。もし無音にできないなら、動画を使わないでください。
      こちらも
      :not()を使用できます!
    
:rootを使用
    
      レスポンシブ対応時に、フォントのサイズをビューポートごとに適応することができます。:rootを使い、ビューポートの高さと幅に基づいてフォントのサイズを定義することができます。
    
      :rootで定義した値に基づいて、それぞれのタグや要素にemを使って利用します。
    
スマホでセレクト要素のドロップダウンをタップした時に、iOS Safariでフォーム要素にズームインするのを回避するために、フォントサイズを加えます。
:dancer:
Pointer eventsでは、マウスがタッチしている要素とどのように対話するかを指定することができます。 ボタン上のデフォルトポインタイベントを無効にするには、次のようにします。
それは簡単です。
display:none を設定します
    ハリー・ロバーツが指摘したように、これはCMSユーザーがスペースのために余分な改行を使用するのを防ぐのに役立ちます:
現在のChrome, Firefox, Safari, Opera と EdgeのバージョンとIE11.