LoginSignup
26
29

More than 5 years have passed since last update.

Stylus 用の Bourbon ライクな CSS フレームワーク kouto swiss を使ってみる

Posted at

まず npm で kouto swiss インストールします。今回は Grunt を利用するので一緒にインストールします。

$ npm install kouto-swiss grunt grunt-contrib-stylus --save-dev

Gruntfile.js に stylus 用の設定を書きます。optionsusekouto-swiss を指定します。

module.exports = function (grunt) {
  grunt.initConfig({
    stylus: {
      compile: {
        options: {
          paths: ['stylus'],
          urlfunc: 'embedurl',
          use: [
            require('kouto-swiss')
          ]
        },
        files: {
          'css/style.css': ['stylus/base.styl', 'stylus/layout.styl']
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-stylus');

  grunt.registerTask('default', ['stylus']);
};

stylus/base.styl を作成して、kouto-swiss をインポートします。

@import "kouto-swiss"

ここから kouto-swiss を使ってみます。まずは、CSSをリセットします。

meyer-reset()

Eric Meyer 氏の Reset CSSが出力されます。

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

kouto swiss は、デフォルト設定では caniuse のデータを使ってベンダープレフィックスの必要有無を設定してくれます。設定はバージョン情報をグローバル変数を変更するだけです。

サービスが IE 10 以降がサポート対象なので、kouto swiss の推奨プレフィックス情報から IE だけ変更します。

ks-support-ie = 10
ks-support-firefox = 25
ks-support-chrome = 20
ks-support-safari = 5
ks-support-opera = 15
ks-support-ios-safari = 5
ks-support-opera-mini = false
ks-support-android-browser = false
ks-support-blackberry-browser = false
ks-support-opera-mobile = false
ks-support-android-chrome = false
ks-support-android-firefox = false
ks-support-ie-mobile = false

linear-gradient を使って、ベンダープレフィックスの設定を試してみます。

.title
  background-image linear-gradient( to top right, #ffffff, #cccccc)

次は、よく使う clearfix を使ってみます。(Nicolas Gallagher 氏の micro clearfix がベース)

.clearfix
  clearfix()

三角形を描画するときは下記を使います。

.triangle
  triangle( up, 30px, #00f)

sc.min.png

デザインにグリッドシステムを簡単に適用できます。固定サイズで 12 のグリッドを作成します。

body
  gs( "fixed", 12, 40px, 10px )

次に グリッド 4 つ分のカラムを設定します。

.col4
  col(4)

3つ並べてみます。

sc1.min.png

ほかにも便利な機能がたくさんあります。今まで Sass + Bourbon にお世話になってきましたが、Stylus を使うときは kouto swiss が便利そうです。


kouto swiss - A complete CSS framework for Stylus

http://kouto-swiss.io/

26
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
29