表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
小説家になろうのランキング作品を探しやすくするためのツールを作ってみるよ!  作者: とある小説投稿サイトのランキング好き
Web版開発編
8/23

画面構成とかHTML/CSSで構築していく

少しずつできていきます。

さて、画面のデザインが終わったので実際に作っていきます。前に作ったのは単なる画像のはめ込みなのでこのままではブラウザに表示できません。というわけで今回はブラウザに表示できるようにHTMLとCSS、あとついでに色も決めていきましょうか。


まぁ、ここからHTML/CSSをガリゴリ書いていくわけですが1から全部作るととてもしんどいのでCSSフレームワークをちょっと使います。


CSSフレームワークは頭のいい人が作ってるいい感じのデザインを簡単に作ることができる仕組みのことです。CSSフレームワークを使うとHTMLもそれに沿って書く必要があるのでとても楽です。


同じフレームワークを使うと、ある程度似たような見た目になるというのがデメリットです。とはいっても自由度が高すぎると逆に何を書けばいいのかわかんないのでそういった枠組みがあるといいですよ。


正直なところ個人開発だと何かしら選んでおくと効率がいいですね。


サービスのブランドをしっかりしたい場合はCSSもきちんと作っていく必要がありますが、個人開発で使える時間が限られている場合は使ったほうが時短になります。


ということで私もCSSフレームワークを選びたいと思います。


大体CSSフレームワークは人気なものが決まってて、今ならTailwindとかBootstrapとかMaterializeとかかな。


今紹介したのは大規模なところでよく使われるものでなんでも入りで多機能で高性能だけどちょっと容量が大きいかなって思います。


今回作るのはそこまで汎用的なものはいらないので、もう少し機能少なくてもいいので軽めのやつを選びます。


軽めのものも結構ありますね。skeltonとかWater.cssとかPureとか。


ただそこまでいくとシンプルすぎて自分で書く部分が多くなるので面倒になるのですよね。


ちょうどいいのがないか探していたら良さげなものがありました。


BeerCSS

https://www.beercss.com/

 

マテリアルデザイン採用でMaterial Youみたいな仕組みも持っててなかなかにコンパクト。ライセンスはMIT。


いいですね。これを使いましょう。


ということで早速npmでダウンロードして、モジュールごとに分解してSassに突っ込んでいきます。


npm i beercss

npm i material-dynamic-colors


import "beercss";

import "material-dynamic-colors";


そして使いそうにないところをバッサリ切っていきます。


Badges, FABs, ImgCard, Switch, Chips, Dropdowns, Media, Progress, Table, Tabs, Toasts, Tooltipは使う予定はないので削除。


あとは装飾のうちバリエーションを多くしているものもあるのでそれらも消していきます。


バッサ、バッサ



あとは色テーマを変更するところも決めましょう。必要なのはモーダルとフォーム、色を変えるところですね。


色を変える仕組みはカラーテーマとダーク、ライトで実現。マテリアルデザインのカラーパレットはある程度決まってるのでそこから色を抜き出します。


ダイナミックカラー

https://material-foundation.github.io/material-theme-builder/#/dynamic



それをCSS変数にぶっ込んでいきます。下はPrimaryの設定。


--primary: #1b8ef3;

--on-primary: #FFFFFF;

--primary-container: #d0e4ff;

--on-primary-container: #001d36;

--secondary: #535f70;

--on-secondary: #ffffff;

--secondary-container: #d6e3f7;

--on-secondary-container: #101c2b;

--tertiary: #6b5778;

--on-tertiary: #FFFFFF;

--tertiary-container: #f3daff;

--on-tertiary-container: #251432;

--error: #ba1b1b;

--on-error: #FFFFFF;

--error-container: #ffdad4;

--on-error-container: #410001;

--background: #fdfcff;

--on-background: #1b1b1b;

--surface: #fdfcff;

--on-surface: #1b1b1b;

--outline: #73777f;

--surface-variant: #dfe2eb;

--on-surface-variant: #42474e;

--inverse-surface: #2f3033;

--inverse-on-surface: #f1f0f4;



これを2テーマ×17テーマで計34色の設定をします。


基本テンプレはこんな感じになります。


<body>

<noscript>このサイトではJavaScriptを使用しています。有効にしてください</noscript>

<!-- header -->

<header class="padding bar-color">

<div class="container">

<div class="row no-wrap middle-align">

<div class="col">

<h5 class="no-margin">のべらん</h5>

</div>

<div class="col">

</div>

<div class="col">

<div class="right-align">

<a id="js-modal-settings"><i>settings</i></a>

</div>

</div>

</div>

</div>

</header>

<!-- main -->

<main class="container">

{% block article %}{% endblock %}

</main>

<!-- color Settings -->

<div class="overlay"></div>

<div class="modal right">

<h5>カラーテーマ設定</h5>

<div class="field middle-align">

<nav>

<label class="radio">

<input class="js-color-theme-radio" type="radio" name="radio-color-theme" value="light" checked><span>ライト</span>

</label>

<label class="radio">

<input class="js-color-theme-radio" type="radio" name="radio-color-theme" value="dark"><span>ダーク</span>

</label>

</nav>

</div>

<div class="field label suffix fill">

<select class="js-color-theme-input" name="color-select" id="id-color-select">

<option value="#D24C41">オレンジ</option>

<option value="#C72866">赤</option>

<option value="#8906AC">マゼンタ</option>

<option value="#6225B2">青紫</option>

<option value="#4C45B1">紺</option>

<option value="#638DEE">水色</option>

<option value="#69A2EF">青</option>

<option value="#70B9D1">シアン</option>

<option value="#569688">抹茶</option>

<option value="#73B258">緑</option>

<option value="#9CC757">薄緑</option>

<option value="#CFE151">黄緑</option>

<option value="#F6F158">黄色</option>

<option value="#ECC73C">サフラン</option>

<option value="#E49F33">みかん</option>

<option value="#6F564A">茶色</option>

</select>

<label class="active" for="id-color-select"><span>カラーテーマ</span></label>

<i>arrow_drop_down</i>

</div>

<nav>

<button type="button" class="js-color-theme-reset">カラーリセット</button>

<button class="secondary" id="js-modal-close">閉じる</button>

</nav>

</div>

<!-- footer -->

<footer class="padding bar-color">

<div class="container">

<h5 class="no-margin">footer</h5>

</div>

</footer>

</body>



こんな感じになりますね。



挿絵(By みてみん)


挿絵(By みてみん)



一部の色だけ載せましたがもう少し色々選べます。



自分の好きな色で使うのがいいよね。

 

ということで基本部分も作れたので次から中身を作っていきますよ。


やっぱりダークモードに対応してほしいなぁと思うけど、配色がめんどいんですよね。


わかる。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
↓作っているもの↓
のべらん
hj015rdjlgeugec6dg0f3ypsd6v_ddb_yq_i9_3c81.png
↑作っているもの↑
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ