ホームページ > ウェブフロントエンド > CSSチュートリアル > コードをレベルアップする革新的な CSS プラクティス

コードをレベルアップする革新的な CSS プラクティス

Barbara Streisand
リリース: 2024-12-02 18:43:11
オリジナル
717 人が閲覧しました

Game-Changing CSS Practices That Will Level Up Your Code

開発者なら誰でも、最初は簡単そうに見えても、すぐに扱いにくくなる CSS と格闘したことがあります。このガイドでは、CSS の一般的な落とし穴と、その最新の保守可能な解決策について説明します。あなたの CSS を問題のあるものからプロフェッショナルなものに変えてみましょう!

?毎週の CSS ヒント、コード スニペット、チュートリアルを受信箱に直接入手できます - 完全に無料です。

1. ユニット: ピクセルからの脱却

間違った方法:

.container {
    width: 1200px;
    font-size: 16px;
    margin: 20px;
}
ログイン後にコピー
ログイン後にコピー

より良い方法:

.container {
    width: 90vw;
    max-width: 75rem;
    font-size: 1rem;
    margin: 1.25rem;
}
ログイン後にコピー
ログイン後にコピー

相対単位を使用すると、デザインが応答性が高くアクセスしやすくなります。 REM はユーザーの好みのフォント サイズに合わせて拡大縮小され、ビューポート ユニットによりレイアウトがさまざまな画面サイズに確実に適応します。ユーザーが基本フォント サイズをズームしたり変更したりする可能性があることを常に考慮してください。

2. CSS リセット: 新しく開始する

間違った方法:

/* Starting without any reset, relying on browser defaults */
ログイン後にコピー
ログイン後にコピー

より良い方法:

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}
ログイン後にコピー
ログイン後にコピー

CSS をリセットすると、異なるブラウザ間で一貫したレンダリングが保証されます。 box-sizing: border-box プロパティを使用すると、要素の合計幅にパディングとボーダーを含めることで、幅の計算を直感的に行うことができます。

3. フレックスボックス vs. フロート: 最新のレイアウト ソリューション

間違った方法:

.container {
    overflow: hidden;
}
.sidebar {
    float: left;
    width: 300px;
}
.main {
    margin-left: 320px;
}
ログイン後にコピー
ログイン後にコピー

より良い方法:

.container {
    display: flex;
    gap: 1.25rem;
}
.sidebar {
    flex-basis: 18.75rem;
    flex-shrink: 0;
}
.main {
    flex-grow: 1;
}
ログイン後にコピー
ログイン後にコピー

Flexbox は、少ないコードで強力で柔軟なレイアウトを提供します。フローティング要素よりもスペース、配置、応答性をよりエレガントに処理し、最新のブラウザーでのサポートが強化されています。

4. カラー管理: 一貫性のための変数

間違った方法:

.button {
    background-color: #007bff;
}
.link {
    color: #007bff;
}
ログイン後にコピー
ログイン後にコピー

より良い方法:

:root {
    --primary-color: #007bff;
    --primary-hover: #0056b3;
}

.button {
    background-color: var(--primary-color);
}
.button:hover {
    background-color: var(--primary-hover);
}
.link {
    color: var(--primary-color);
}
ログイン後にコピー
ログイン後にコピー

CSS 変数 (カスタム プロパティ) を使用すると、一貫した色の維持が容易になり、テーマの切り替えが可能になります。また、コードの保守性が向上し、不整合のリスクが軽減されます。

5. メディア クエリ: モバイル ファーストのアプローチ

間違った方法:

/* Desktop-first approach */
.container {
    width: 1200px;
}
@media (max-width: 768px) {
    .container {
        width: 100%;
    }
}
ログイン後にコピー

より良い方法:

/* Mobile-first approach */
.container {
    width: 100%;
}
@media (min-width: 48em) {
    .container {
        width: 90%;
        max-width: 75rem;
    }
}
ログイン後にコピー

モバイルファーストのデザインにより、基本スタイルが小型デバイスで動作することが保証され、その後、大型画面でのエクスペリエンスが段階的に強化されます。通常、このアプローチにより、コードがよりクリーンで保守しやすくなります。

6. 特異性: シンプルさを保つ

間違った方法:

#header div.navigation ul li a.active {
    color: blue;
}
ログイン後にコピー

より良い方法:

.nav-link--active {
    color: var(--primary-color);
}
ログイン後にコピー

特異性が低いと、スタイルの維持と必要な場合のオーバーライドが容易になります。 BEM 命名規則または同様の手法を使用して、深いネストを行わずに意味のある特定のクラスを作成します。

7. タイポグラフィ: 滑らかなフォント サイズ設定

間違った方法:

.container {
    width: 1200px;
    font-size: 16px;
    margin: 20px;
}
ログイン後にコピー
ログイン後にコピー

より良い方法:

.container {
    width: 90vw;
    max-width: 75rem;
    font-size: 1rem;
    margin: 1.25rem;
}
ログイン後にコピー
ログイン後にコピー

clamp() を使用すると、最小サイズと最大サイズの間でスムーズにスケールする応答性の高いタイポグラフィが作成されます。これにより、フォント サイズのためだけに複数のメディア クエリを行う必要がなくなります。

8. グリッド レイアウト: 適切なカード システム

間違った方法:

/* Starting without any reset, relying on browser defaults */
ログイン後にコピー
ログイン後にコピー

より良い方法:

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}
ログイン後にコピー
ログイン後にコピー

自動調整と minmax() を備えた CSS グリッドは、利用可能なスペースに自動的に調整される応答性の高いレイアウトを作成します。このアプローチでは、必要なコードが少なくなり、エッジケースをより適切に処理できます。

9. アニメーション: パフォーマンスの最適化

間違った方法:

.container {
    overflow: hidden;
}
.sidebar {
    float: left;
    width: 300px;
}
.main {
    margin-left: 320px;
}
ログイン後にコピー
ログイン後にコピー

より良い方法:

.container {
    display: flex;
    gap: 1.25rem;
}
.sidebar {
    flex-basis: 18.75rem;
    flex-shrink: 0;
}
.main {
    flex-grow: 1;
}
ログイン後にコピー
ログイン後にコピー

すべてを使用するのではなく、アニメーション化する正確なプロパティを指定し、パフォーマンスのために最適化されているため、可能な場合は変換と不透明度を使用します。頻繁にアニメーション化される要素には、will-change を控えめに使用してください。

10. コンポーネントバリアントのカスタムプロパティ

間違った方法:

.button {
    background-color: #007bff;
}
.link {
    color: #007bff;
}
ログイン後にコピー
ログイン後にコピー

より良い方法:

:root {
    --primary-color: #007bff;
    --primary-hover: #0056b3;
}

.button {
    background-color: var(--primary-color);
}
.button:hover {
    background-color: var(--primary-hover);
}
.link {
    color: var(--primary-color);
}
ログイン後にコピー
ログイン後にコピー

バリアントに CSS カスタム プロパティを使用すると、コードの重複が減り、コンポーネントの保守が容易になります。また、デザイン システム全体で一貫したバリエーションを作成することも簡単になります。

結論

最新の CSS は、コードの保守性、パフォーマンス、スケーラビリティを向上させる強力なツールを提供します。これらのベスト プラクティスに従うことで、保守と変更が容易な、より堅牢なスタイルシートを作成できます。目標は何かを機能させることだけではなく、ユーザーと開発者の両方にとってうまく機能させることであることを忘れないでください。

以上がコードをレベルアップする革新的な CSS プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート