Stylus
表示
概要
[編集]Stylusは、効率的でエレガントなCSSの記述を可能にする動的スタイルシート言語です。Node.js環境で動作し、豊富な機能と柔軟な構文により、CSSの生産性を大幅に向上させます。
インストールと設定
[編集]Node.jsでのインストール
[編集]npm install stylus -g
基本的な使用方法
[編集]stylus input.styl -o output.css
基本構文
[編集]セレクタとプロパティ
[編集]Stylusは通常のCSSのような記法と、インデントベースの簡略記法の両方をサポートします:
// 通常の記法 .container { width: 100%; padding: 20px; } // 簡略記法 .container width 100% padding 20px
変数
[編集]変数を使用してスタイルを定義できます:
primary-color = #3498db .button background-color primary-color &:hover background-color darken(primary-color, 10%)
高度な機能
[編集]ミックスイン
[編集]再利用可能なスタイルブロックを定義できます:
border-radius(n) -webkit-border-radius n -moz-border-radius n border-radius n .button border-radius(5px)
演算子
[編集]数値の計算や色の操作が可能です:
.container width 100% - 20px margin (10px * 2) background lighten(#000, 50%)
制御構文
[編集]条件分岐
[編集]support-ie = true if support-ie .container zoom 1 else .container clear both
繰り返し
[編集]for i in 1..5 .col-{i} width (i * 20%)
関数とヘルパー
[編集]組み込み関数
[編集]- rgba()
- darken()/lighten()
- unit()
- type()
カスタム関数
[編集]calculate-width(columns) return columns * (100% / 12) .col-6 width calculate-width(6)
インポートとモジュール化
[編集]ファイルのインポート
[編集]@import 'variables' @import 'mixins' @import 'components/*'
モジュール構成
[編集]- base/
- components/
- layouts/
- utils/
ベストプラクティス
[編集]コード整理
[編集]- 変数名の命名規則
- ミックスインの適切な使用
- ファイル構成の最適化
パフォーマンス
[編集]- ネストの深さを制限
- 不要な演算の回避
- 効率的なセレクタの使用
デバッグとトラブルシューティング
[編集]デバッグ方法
[編集]- inspect()関数の使用
- コンパイルエラーの解釈
- ソースマップの活用
よくある問題
[編集]- スコープの問題
- 優先順位の衝突
- ブラウザ互換性
プラグインとツール
[編集]主要なプラグイン
[編集]- stylus-loader (webpack用)
- gulp-stylus
- grunt-contrib-stylus
エディタサポート
[編集]- VS Code拡張
- Sublime Text用パッケージ
- WebStorm/IntelliJ IDEA統合
メディアクエリ =
[編集]レスポンシブデザイン
[編集]$tablet = 768px $desktop = 1024px @media (min-width: $tablet) .container width 750px @media (min-width: $desktop) .container width 970px
プリプロセッサ機能
[編集]ネスト
[編集].article h1 font-size 2em &:hover color #000 p line-height 1.6
パフォーマンス最適化
[編集]コンパイルオプション
[編集]- 圧縮
- ソースマップ生成
- キャッシュの活用
バージョン互換性
[編集]破壊的変更
[編集]主要なバージョン間の変更点と移行ガイド
コミュニティリソース
[編集]ドキュメント
[編集]- 公式ガイド
- チュートリアル
- サンプルプロジェクト
サポート
[編集]- GitHubイシュー
- コミュニティフォーラム
- Stack Overflow