CSSフレームワークのMilligramを使ってみます。
使い方
公式サイトからダウンロードします。

ダウンロードしたファイルを解凍後、distディレクトリ内のmilligram.min.cssを使用します。
milligram.min.cssと合わせて、Robotoとnormalize.cssを読み込ませます。
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic"> <link rel="stylesheet" href="./normalize.css"> <link rel="stylesheet" href="./milligram.min.css">
いくつか簡単に使ってみます。
HTML
<a href="">Anchor</a> <em>Emphasis</em> <small>Small</small> <strong>Strong</strong> <u>Underline</u>
Typography
h1~h6のタイトルタグを使ってみます。
HTML
<h1>Heading</h1> <h2>Heading</h2> <h3>Heading</h3> <h4>Heading</h4> <h5>Heading</h5> <h6>Heading</h6>
Blockquotes
引用を表すblockquoteを使ってみます。
HTML
<blockquote> <p>Milligram provides a minimal setup of styles for a fast and clean starting point. Just it! Only 2kb gzipped! It's not about a UI framework. Specially designed for better performance and higher productivity with fewer properties to reset resulting in cleaner code. Hope you enjoy!</p> </blockquote>
Buttons
Buttonsは3種類あり、デフォルトでは色付きのボタン、.button-outlineを付与するとアウトライン付き、.button-clearはクリアになります。
HTML
<a class="button" href="#">Default Button</a> <button class="button button-outline">Outlined Button</button> <input class="button button-clear" type="submit" value="Clear Button">
Lists
リストタグを使ってみます。
HTML
<ul> <li>Unordered list item 1</li> <li>Unordered list item 2</li> </ul> <ol> <li>Ordered list item 1</li> <li>Ordered list item 2</li> </ol> <dl> <dt>Description list item 1</dt> <dd>Description list item 1.1</dd> </dl>
Forms
form関連のタグを使ってみます。
HTML
<form>
<fieldset>
<label for="nameField">Name</label>
<input type="text" placeholder="CJ Patoilo" id="nameField">
<label for="ageRangeField">Age Range</label>
<select id="ageRangeField">
<option value="0-13">0-13</option>
<option value="14-17">14-17</option>
<option value="18-23">18-23</option>
<option value="24+">24+</option>
</select>
<label for="commentField">Comment</label>
<textarea placeholder="Hi CJ …" id="commentField"></textarea>
<div class="float-right">
<input type="checkbox" id="confirmField">
<label class="label-inline" for="confirmField">Send a copy to yourself</label>
</div>
<input class="button-primary" type="submit" value="Send">
</fieldset>
</form>
Tables
tableタグを使ってみます。
HTML
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Height</th>
<th>Birthday</th>
</tr>
</thead>
<tbody>
<tr>
<td>Aoba Suzukaze</td>
<td>18</td>
<td>149</td>
<td>2/2</td>
</tr>
<tr>
<td>Yun Iijima</td>
<td>21</td>
<td>151</td>
<td>12/6</td>
</tr>
<tr>
<td>Koh Yagami</td>
<td>25</td>
<td>164</td>
<td>8/2</td>
</tr>
</tbody>
</table>
Grids
グリッドレイアウトを使ってみます。
HTML
<div class="container">
<div class="row">
<div class="column">.column</div>
<div class="column">.column</div>
<div class="column">.column</div>
<div class="column">.column</div>
</div>
<div class="row">
<div class="column">.column</div>
<div class="column column-50 column-offset-25">.column column-50 column-offset-25</div>
</div>
</div>
.column column-Xの形で幅の割合を指定できます。
HTML
<div class="container">
<div class="row">
<div class="column column-10">
<span>10%</span>
</div>
</div>
<div class="row">
<div class="column column-20">
<span>20%</span>
</div>
</div>
<div class="row">
<div class="column column-25">
<span>25%</span>
</div>
</div>
<div class="row">
<div class="column column-33">
<span>33%</span>
</div>
</div>
<div class="row">
<div class="column column-40">
<span>40%</span>
</div>
</div>
<div class="row">
<div class="column column-50">
<span>50%</span>
</div>
</div>
<div class="row">
<div class="column column-60">
<span>60%</span>
</div>
</div>
<div class="row">
<div class="column column-67">
<span>67%</span>
</div>
</div>
<div class="row">
<div class="column column-75">
<span>75%</span>
</div>
</div>
<div class="row">
<div class="column column-80">
<span>80%</span>
</div>
</div>
<div class="row">
<div class="column column-90">
<span>90%</span>
</div>
</div>
<div class="row">
<div class="column">
<span>100%</span>
</div>
</div>
</div>
Codes
Codesを使ってみます。
HTML
<p>Just wrap anything in a <code>code</code> and it will appear like this.</p>
<pre><code>.milligram {
color: #9b4dca;
}
</code></pre>
Mobile First
Milligramでは以下のようなブレークポイントを推奨しているようです。
HTML
<div class="sample">sample</div>
CSS
/* ベース(スマホ向け) */
.sample {
background: red;
}
/* スマホ(640px)以上 */
@media (min-width: 40.0rem) {
.sample {
background: blue;
}
}
/* タブレット(1280px)以上 */
@media (min-width: 80.0rem) {
.sample {
background: green;
}
}
/* デスクトップ(1920px)以上 */
/* Larger than desktop screen */
@media (min-width: 120.0rem) {
.sample {
background: orange;
}
}
Embed Font
Milligramはデフォルトではfont-familyにRobotoを使用しているので、はんなり明朝を使ってみます。
<link href="https://fonts.googleapis.com/earlyaccess/hannari.css" rel="stylesheet">
HTML
<p>はんなり明朝のテスト。</p>
CSS
body {
font-family: "Hannari";
}
Extending The Inheritances
ボタンのスタイルを拡張してみます。
HTML
<h1>button-black</h1> <a class="button button-black" href="#">Default Button</a> <a class="button button-outline button-black" href="#">Outlined Button</a> <a class="button button-clear button-black" href="#">Clear Button</a> <h1>button-small</h1> <a class="button button-small" href="#">Default Button</a> <a class="button button-outline button-small" href="#">Outlined Button</a> <a class="button button-clear button-small" href="#">Clear Button</a> <h1>button-large</h1> <a class="button button-large" href="#">Default Button</a> <a class="button button-outline button-large" href="#">Outlined Button</a> <a class="button button-clear button-large" href="#">Clear Button</a>
CSS
/* Custom color */
.button-black {
background-color: black;
border-color: black;
}
.button-black.button-clear,
.button-black.button-outline {
background-color: transparent;
color: black;
}
.button-black.button-clear {
border-color: transparent;
}
/* Custom size */
.button-small {
font-size: .8rem;
height: 2.8rem;
line-height: 2.8rem;
padding: 0 1.5rem;
}
.button-large {
font-size: 1.4rem;
height: 4.5rem;
line-height: 4.5rem;
padding: 0 2rem;
}
Extending The Inheritancesのデモページ
最小限のスタイルが用意しているCSSフレームワークなので、実装のベースとして使うとよさそうです。
【参考サイト】
コメントが承認されるまで時間がかかります。