プレーンなHTMLで、ミニマルなWebサイトを素早く構築できるシンプルなCSSのフレームワーク -Neat CSS
Post on:2023年5月16日
ポートフォリオやブログ、テキストサイトやシンプルなショップなど、ミニマルなWebサイトを素早く構築できるシンプルなCSSのフレームワークを紹介します。
HTMLもシンプルでプレーンなため、実装は簡単です。CSSはそのままでもカスタマイズしても使用できます。もちろん、レスポンシブ対応で、ダークモードもサポートしています。
Neat CSSの特徴
Neat CSSは、ミニマルなWebサイトを素早く構築するシンプルなCSSのフレームワークです。CSSは約2Kbの超軽量サイズ(未圧縮)、カスタマイズも簡単です。
MITライセンスで、個人でも商用プロジェクトでも無料で利用できます。
Neat CSSの主な用途
- ブログ
- ジャーナル
- テクニカルサイト
- ドキュメンテーション
- 書籍
- シンプルなショップ
Neat CSSの主な特徴
- Neat CSSはミニマルに設計されており、高速にページが表示されます。
- ミニマルで高速なため、消費されるリソースも最小限。
- プレーンなHTMLで実装するため、将来的にも長持ちします。
- CSSは未圧縮の状態にしており、オープン性を高くしています。
Neat CSSのGitHubは、下記ページから。
Neat CSSの仕様
Neat CSSはシンプルでミニマルにデザインされており、仕様がいくつかあります。
- ページの最大幅
- デフォルトで最大幅は、
800px
です。調査によると、幅を制限すると、コンテンツ自体の保持力が向上し、目の疲れが軽減されることが分かっています。また、薄いテキストの列、非常に大きなモニターでより読みやすくなります。これは、custom.cssファイルのbody
要素のmax-width
を編集することで簡単に変更できます。 - 中央揃え
- Neat CSSでは、中央揃えを採用しています。私は自分のプロジェクトのほとんどでNeatを出発点として使用しており、ほとんどの場合、ボディを中央寄せにしていることに気づきました。その結果、デフォルトは中央揃えになりました。custom.cssファイルに
margin-left
とmargin-right
を追加すれば、左寄せにできます。 - 画像
- デフォルトで画像の幅は、
100%
です。これは、幅が広くて短い画像に最適です。必要に応じて個々の画像を手動サイズで設定したり、アスペクト比を使用する場合は、custom.cssで画像の幅を変更できます。 - 左側の溝
- 中央揃えに配置しない場合、大きなモニターでは左の余白が広くなり、デスクトップやタブレットのサイズではページにもう少しゆとりが生まれます。デフォルトは中央揃えになっているため、通常はこれに気づきません。
- ボタン
- ボタンには複数の種類があります。ボタンのように見える
a
タグ、button
タグ、送信スタイルのinput
タグがあります。 - レスポンシブ
- Neat CSSは、レスポンシブが高いように設計されています。
- Neat CSSには、シンプルなグリッドシステムがあります。各列のサイズは自動的に調整されます。4つの列を用意すると、4つの同じサイズの列が得られます。スマホではすべてが単一の列に折りたたまれます。
div
タグをはじめ、中央配置にしたいものは.center
で配置できます。
dt>グリッド
dt>中央配置
Neat CSSを実際にブログで使用しているページがこちらです。
Neat CSSの使い方
neat.cssファイルとneat.htmlファイルを取得します。
1 2 |
curl -O https://neat.joeldare.com/neat.css curl -O https://neat.joeldare.com/neat.html |
次に、neat.htmlをindex.htmlにコピーし、変更を加えます。
CSSのカスタマイズをする際は、新しくcustom.cssファイルを作成し、HTMLファイルに外部ファイルとして記述します。
1 |
<link rel="stylesheet" type="text/css" href="custom.css"> |
詳しくは、下記をご覧ください。
neat.cssの中身は、下記の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
:root { color-scheme: dark light; --light: #fff; --dark: #404040; } * { box-sizing: border-box; color: var(--dark); } html { border-style: solid; border-width: 5px 0 0 0; border-color: var(--dark); } html, button, input { font-family: sans-serif; } input { border: 1px solid silver; border-radius: 5px; padding: 5px; } body { background-color: var(--light); margin: 0; max-width: 800px; padding: 0 20px 20px 20px; margin-left: auto; margin-right: auto; } p { margin-bottom: 10px; line-height: 1.4em; } img { width: 100%; height: auto; } pre { overflow: auto; } button, .button, input[type=submit] { display: inline-block; background-color: var(--dark); color: var(--light); font-size: 1em; text-align: center; padding: 8px; margin-right: 5px; border-radius: 5px; text-decoration: none; border: none; line-height: normal; cursor: pointer; } button:last-child, .button:last-child { margin-right: 0; } .center { display: block; margin-left: auto; margin-right: auto; text-align: center; } .bordered { border: 3px solid; } .home { display: inline-block; background-color: var(--dark); color: var(--light); margin-top: 20px; padding: 5px 10px 5px 10px; text-decoration: none; font-weight: bold; } /* Desktop sizes */ @media only screen and (min-width: 600px) { ol { column-count: 2; } .row { display: flex; flex-direction: row; padding: 0; width: 100%; } .row .column { display: block; flex: 1 1 auto; max-width: 100%; width: 100%; } .row .column:not(:last-child) { margin-right: 10px; } } /* Dark mode overrides */ @media (prefers-color-scheme: dark) { * { color: var(--light); } html { border-color: var(--light); } body { background-color: var(--dark); } button, .button, .home, input { background-color: var(--light); color: var(--dark); } } |
sponsors