Bulmaとは

この記事の目的
今やビジネスにおいてコンピュータ・情報・通信などを中心とする「IT用語」に対する知識は欠かせません。
あまり馴染みがない各分野のIT用語を、なるべく専門用語を使わずに解説していきます。

この記事の対象読者
Web制作を始めたばかりの人。
自社のWebマーケティングを任された人。
専門用語についていろいろ知りたい人。
Webマーケティングを行なっているが、言葉の定義を再確認したい人。
など、Webに限らずDXに携わるすべての方に。

目次

Bulmaとは

Bulmaのホームページ
Bulma_ Free, open source, and modern CSS framework based on Flexbox_ – bulma.io.png(2023年3月)

Bulmaは、ウェブサイトやウェブアプリケーションのデザインやレイアウトを効率的かつ簡単に作成するためのCSSフレームワークです。モダンなデザインと圧倒的な使いやすさが特徴で、CSSのみで構成されていますが、HTMLやJavaScriptとの連携が簡単で、カスタマイズが可能です。

Bulmaの基本情報

Bulmaは2016年にフランスのウェブデザイナー、Jeremy Thomasが作成しました。当初は、彼が個人的に使用するためのフレームワークでしたが、公開後、急速に成長し、世界中の技術者によって改善、機能追加が行われました。

名称: Bulma
種類: CSSフレームワーク
開発者: Jeremy Thomas
初版リリース: 2016年
最新版: v0.9.3
ライセンス: MIT License

Bulmaの特徴

Bulmaの最大の特徴は、Flexboxをベースとしたグリッドシステムです。このグリッドシステムにより、簡単にレスポンシブデザインを実装したでモバイルファーストなWebサイトを作成できます。Flexboxは、旧来のfloatを使ったグリッドシステムよりもシンプルで、レスポンシブデザインには欠かせない技術となっています。Bulmaのグリッドシステムは、様々なデバイスに対応し、非常に使いやすいです。

Bulmaのメリット

Bulmaのメリットは以下のとおりです。

モバイルファーストの設計に適している

Bulmaはモバイルファーストを意識した設計になっていて、スマートフォンやタブレットなどでも美しく表示されるウェブサイトを簡単に作成できます。

カスタマイズ性が高い

Sassを使用しているため、カスタマイズ性の高さが特徴的です。必要なモジュールだけを選択して使用したり、変数やミックスインを使用してカスタマイズします。

豊富なコンポーネント

Bulmaには、さまざまなコンポーネントが用意されており、これらを使用することでWebサイトの構築が容易になります。

Bulmaのコンポーネントには、以下のようなものがあります。

レイアウトコンポーネント

columns: カラムを定義するためのコンポーネント
container: コンテンツを中央に配置するためのコンポーネント

フォームコンポーネント

input: ユーザーがデータを入力するためのコンポーネント
textarea: 複数行のテキストを入力するためのコンポーネント
checkbox: チェックボックスを作成するためのコンポーネント

UIコンポーネント

button: ボタンを作成するためのコンポーネント
icon: アイコンを表示するためのコンポーネント
modal: モーダルを作成するためのコンポーネント

ナビゲーションコンポーネント

navbar: ナビゲーションバーを作成するためのコンポーネント
tabs: タブを作成するためのコンポーネント

Bulmaのデメリット

Bulmaは人気のCSSフレームワークですが、いくつかデメリットもあります。

似たようなデザインになってしまう

Bulmaはデフォルトのスタイルの特徴が強いため、Bulmaを使ったウェブサイトはどれも同じようなデザインになりがちです。

ファイルサイズが大きい

Bulmaは多くのコンポーネントを搭載しているためファイルサイズが大きくなります。ウェブ上において、大きいファイルの読み込みはウェブサイトのパフォーマンスに悪い影響があります。

BulmaとBootstrapの比較の違い

BulmaとBootstrapは両方とも、人気のあるフロントエンドフレームワークです。以下は、両者の主な違いです。

BulmaBootstrap
グリッドシステムFlexboxFlexboxまたはfloat
カスタマイズ可能な色ありあり
カスタマイズ可能なフォントありあり
カスタマイズ可能なアイコンなしあり
組み込みコンポーネントありあり
JavaScriptプラグインなしあり
モバイルファーストデザインありあり
ライセンスMITMIT

BulmaはBootstrapと比較して機能的にはほぼ同等です。

Bulmaのインストール方法

Bulmaのインストール方法について詳しく説明します。

NPMを使ったインストール

Node Package Manager(NPM)を使ってBulmaをインストールするのが一番簡単な方法です。以下のコマンドを実行するだけで、Bulmaをプロジェクトに追加することができます。

npm install bulma

CDNを使ったインストール

Content Delivery Network(CDN)を使ってBulmaのスタイルシートを使用することも可能です。以下のリンクをHTMLファイルの<head>タグ内に追加します。

<link rel=”stylesheet” href=”https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.3/css/bulma.min.css”>

GitHubからのダウンロード

GitHubリポジトリからBulmaをダウンロードすることもできます。BulmaのGitHubページからソースコードをダウンロードし、プロジェクトに追加します。

Bulmaの基本的な使用方法

Bulmaをインストールしたら、次にBulmaの基本的な使用方法を学びましょう。Bulmaは、HTMLのclass属性を使ってスタイルを適用します。以下に、Bulmaを使った簡単なHTMLテンプレートを示します。

このテンプレートでは、sectioncontainerというBulmaのクラスを使用して、ページのレイアウトを設定しています。また、titleクラスは、テキストにスタイルを当てています。

 Documentation| Bulma: Free, open source, and modern CSS framework based on Flexbox:https://bulma.io/documentation/

Bulmaのコンポーネント

Bulmaのコンポーネントを使用することで、迅速にウェブページを作成することができます。Bulmaのいくつかのコンポーネントの使用例を記載します。

ボタン

Bulmaでは、ボタンのスタイルを簡単にカスタマイズすることができます。以下は、Bulmaを使用してボタンを作成する例です。

<button class="button is-primary">Primary Button</button>

<button class="button is-link">Link Button</button>

<button class="button is-success">Success Button</button>

ナビゲーションバー

Bulmaのナビゲーションバーは、ウェブサイトのヘッダー部分に使用します。以下は、Bulmaを使用してナビゲーションバーを作成する例です。

<nav class="navbar">
  <div class="navbar-brand">
    <a class="navbar-item" href="#">
      <img src="logo.png" alt="Logo">
    </a>
  </div>

  <div class="navbar-menu">
    <div class="navbar-start">
      <a class="navbar-item" href="#">Home</a>
      <a class="navbar-item" href="#">About</a>
      <a class="navbar-item" href="#">Contact</a>
    </div>
  </div>
</nav>

カード

Bulmaのカードは、情報を整理して表示するのに便利です。以下は、Bulmaを使用してカードを作成する例です。

<div class="card">
  <div class="card-image">
    <figure class="image is-4by3">
      <img src="image.jpg" alt="Placeholder image">
    </figure>
  </div>
  <div class="card-content">
    <div class="media">
      <div class="media-content">
        <p class="title is-4">John Smith</p>
        <p class="subtitle is-6">@johnsmith</p>
      </div>
    </div>

    <div class="content">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit.
      <a href="#">#css</a> <a href="#">#responsive</a>
      <br>
      <time datetime="2016-1-1">11:09 PM - 1 Jan 2016</time>
    </div>
  </div>
</div>

カードを横に並べる

カードを横に並べるためには、Bulmaのcolumnsとcolumnクラスを使用します。以下に、3枚のカードが並んだHTMLテンプレートを示します。

<div class="columns">
  <div class="column">
    <div class="card">
      <div class="card-image">
        <figure class="image is-4by3">
          <img src="image1.jpg" alt="プレースホルダー画像1">
        </figure>
      </div>
      <div class="card-content">
        <div class="media">
          <div class="media-content">
            <p class="title is-4">田中 太郎</p>
            <p class="subtitle is-6">@tanaka_taro</p>
          </div>
        </div>

        <div class="content">
         ダミーテキストです。ダミーテキストです。ダミーテキストです。ダミーテキストです。ダミーテキストです。
          <a href="#">#css</a> <a href="#">#レスポンシブ</a>
          <br>
          <time datetime="2016-1-1">2016年1月1日 - 23:09</time>
        </div>
      </div>
    </div>
  </div>

  <div class="column">
    <!-- 2枚目のカードのHTMLをここにコピー -->
  </div>

  <div class="column">
    <!-- 3枚目のカードのHTMLをここにコピー -->
  </div>
</div>

まとめ

Bulmaは簡単にレスポンシブデザインを作成することができるCSSフレームワークです。Flexboxを使用したグリッドシステムや多数のカスタマイズ可能なコンポーネント、ユーティリティが備わっており使いやすいフレームワークです。同じようなCSSフレームワークにBootstrapがありますが、機能はほぼ同等であり、基本的にはデザインで選ぶと良いと思います。

メールやホームページの
「困った!」を解決しませんか?

お取引企業20,000を超える実績を持つスピーバーでは、豊富な知識を持ったIT業務の専門家が 複雑な手続きや設定をサポートし、お客様の挑戦と成長を応援いたします。

スピーバーに相談する
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

肩書:Webエンジニア兼Webライター
名前:さのくん
経歴:大学在学中にオペレーションズリサーチ分野を学ぶ過程でプログラミングを習得。
その後は不動産業界に従事しつつ、サイドビジネスとしてWebエンジニアを兼業。フロントエンド開発を得意とする。
Webライティング歴:1年超で執筆数は累計30記事を超える
使用言語:C言語, HTML/CSS/Sass, Javascript, Typescript, PHP, Shopify(Liquid HTML)

まずはお気軽に
お問い合わせください

スピーバーのサポートデスクでは、レンタルサーバーに関するご質問やご相談だけでなく、
お客様のオフィス内でのお困りごと全般のご相談を受付けています。

パソコンの操作、メールの設定、迷惑メールやスパムメールが多くて困るといった、
日常業務でのお困り事をお気軽にご相談ください。

お電話での
お問い合わせは
スピーバーお問い合わせ電話番号:0120-63-1138
0120-63-1138
9:00~18:00(祝祭日を除く月曜日~金曜日)
目次