CSSを使って縦棒グラフをデザインする方法
2023.04.03
error この記事は最終更新日から1年以上が経過しています。
CSSで横軸の棒グラフはまあ適当にやっても表現できるが、縦軸の棒グラフはちょっと面倒なので、メモっておく。
参考(というかこちらを見た方が良いです): CSSで縦の棒グラフ(罫線付き)をつくる
HTML
<div class="bar-graph">
<div class="bar-graph-inner">
<div class="bar-graph-main">
<hr style="top:20px;">
<hr style="top:40px;">
<hr style="top:60px;">
<hr style="top:80px;">
<hr style="top:100px;">
<hr style="top:120px;">
<hr style="top:140px;">
<hr style="top:160px;">
<hr style="top:180px;">
<div class="bar" style="height: 145px; margin-top: 55px;"></div>
<div class="bar" style="height: 62px; margin-top: 138px;"></div>
<div class="bar nowbar" style="height: 180px; margin-top: 20px;"></div>
<div class="bar" style="height: 146px; margin-top: 54px;"></div>
<div class="bar" style="height: 145px; margin-top: 55px;"></div>
<div class="bar" style="height: 62px; margin-top: 138px;"></div>
<div class="bar" style="height: 180px; margin-top: 20px;"></div>
<div class="bar" style="height: 146px; margin-top: 54px;"></div>
</div>
<div class="bar-graph-label">
<div class="bar-label">1</div>
<div class="bar-label">3</div>
<div class="bar-label">5</div>
</div>
</div>
</div>
CSS
.bar-graph {
margin-left: 10px;
margin-bottom: 20px;
display: flex;
}
.bar-graph-inner{
margin-left: 5px;
}
.bar-graph-main {
height: 200px;
width: 345px;
border: 1px solid #F0F0F0;
position: relative;
margin-top: 13px;
}
.bar {
float: left;
text-align: center;
position: relative;
margin-left: 5px;
width: 37px;
background-color: #E5F4F0;
}
.nowbar{
background-color: #F1BBA1;
}
.bar-graph-main hr {
border: none;
position: absolute;
width: 100%;
height: 1px;
margin: 0 auto;
background: #F0F0F0;
}
.bar-graph-label {
display: flex;
justify-content: space-between;
}
.bar-graph-label .bar-label{
margin-left: 6px;
width: 25px;
text-align: center;
padding-top: 6px;
color: #666666;
}
の heightと margin-top の値の合計が全項目で同値に(例では合計200px)になるようにする。
See the Pen CSSで縦棒グラフ by nanaka (@nanaka_tokiwa) on CodePen.
Google FontsのMaterial Symbols 基本設定メモ
2024.12.10
Google FontsのMaterial Symbols and Iconsの基本的な使い方をまとめた記事です。導入手順や、アイコンとテキストを綺麗に揃えるためのCSS設定例について解説しています。
contenteditableで作るインライン編集システムとデータ送信の仕組み
2024.12.03
contenteditable属性を利用すれば、HTML内のテキストを直接編集できるインターフェースを構築できます。 本記事では、contenteditableを活用したインライン編集機能の実装手法について解説します。 UIの向上を目指す際の参考として。
datalistとJavaScriptで作るタグ入力フォームの実装ガイド
2024.11.17
ブログやアプリケーションで便利な「タグ入力フォーム」。この記事では、datalist要素を利用して、既存タグの選択と新規タグの追加を同時に実現するUIの作成方法をご紹介します。さらに、JavaScriptとCSSを活用して、複数選択対応やタグ削除機能、Enterキーでのタグ追加機能も実装。タグ入力フォームを効率的かつユーザーフレンドリーにカスタマイズする方法を詳しく解説します。
Flexbox入門:ボックスを自動配置して均等に並べる方法
2023.04.27
Flexboxの基礎を学びながら、ボックスを均等に並べる方法を実例で紹介します。初心者向けの簡単なコーディング例です。