Reactを使用したBulmaCSSの概要
序章
Bullma は、ヘルパー、要素、およびコンポーネントを含むCSSフレームワークです。 プロジェクトで信頼性が高く拡張可能なデザインにBulmaクラスとHTML構造を使用できます。
この記事では、ReactでのBulmaCSSフレームワークの最も一般的な実装の1つであるreact-bulma-componentsを使用します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- Node.jsのローカル開発環境。 Node.jsをインストールしてローカル開発環境を作成する方法に従ってください。
- Reactにある程度精通している。 React.jsシリーズのコーディング方法をご覧ください。
このチュートリアルは、ノードv16.2.0、npm
v7.14.0、react
v17.0.2、およびreact-bulma-components
v4.0.4で検証されました。
プロジェクトの設定
create-react-app を使用してReactアプリを生成し、依存関係をインストールすることから始めます。
npx create-react-app react-bulma-components-example
新しいプロジェクトディレクトリに移動します。
cd react-bulma-components-example
これで、Reactアプリケーションを実行できます。
npm start
プロジェクトのエラーや問題を修正します。 そして、Webブラウザでlocalhost:3000
にアクセスします。
動作するReactアプリケーションができたら、react-bulma-components
の追加を開始できます。
npm install [email protected]
この時点で、react-bulma-components
を使用した新しいReactプロジェクトがあります。
要素とコンポーネントの調査
react-bulma-components
ライブラリは、Bulma要素、コンポーネント、フォーム、およびレイアウトをサポートします。
Button
コンポーネントを使用した例を考えてみましょう。 まず、Bulmaスタイルシートをインポートする必要があります。 次に、コンポーネントをインポートする必要があります。
src / App.js
import 'bulma/css/bulma.min.css'; import { Button } from 'react-bulma-components'; function App() { return ( <div className="App"> <Button>Example</Button> </div> ); } export default App;
これにより、ブルマスタイルのButton
が生成されます。
注:以前のバージョンのreact-bulma-components
では、コンポーネントのfull
およびlib
固有のバージョンを指定できました。 これはバージョン4.0で変更され、Bulmaがピア依存関係に変更され、スタイルシートをインポートする必要があります。
そこにあるほとんどのCSSフレームワークと同様に、Bulmaには、一般的なコンポーネントのスタイルと、要素にさまざまなクラスを追加することで実現できる一連のカスタマイズが付属しています。
react-bulma-components
は、主要な要素ごとにコンポーネントを提供することで作業をさらに簡素化し、コンポーネントにプロパティを渡すためにクラス名を調整する必要をなくします。
danger
の色を使った、角が丸く輪郭のある大きなボタンを作りたいですか?
<Button color="danger" size="large" rounded outlined > Example </Button>
すべてのreact-bulma-components
は、renderAs
プロパティを受け入れることができます。これにより、コンポーネントのレンダリングに使用する要素の種類を定義できます。
デフォルトでは、Button
コンポーネントはbutton
要素としてレンダリングされます。 renderAs
プロパティを使用して、リンクとしてレンダリングします。
renderAs
プロパティに加えて、href
も含めて、リンクをクリックしたときに送信先を指定する必要があります。
<Button renderAs="a" href="https://www.example.com" color="danger" size="large" rounded outlined > Example </Button>
実際、すべてのBulmaコンポーネントは、それらをスローする可能性のあるすべてのプロパティを受け入れることができます。 つまり、style
プロパティを使用して高度なスタイル設定をいつでも実行したり、className
を使用してCSSクラスを追加したりできます。
className
を使用する場合、指定したクラスはすべて、ライブラリで生成されたBulmaクラス名のリストの前に追加されます。
色
最新のCSSフレームワークと同様に、Bulmaにはいくつかのセマンティック命名規則を使用するカラーテーマが付属しています。
これらのテーマカラーには、primary
、link
、info
、success
、warning
、およびdanger
が含まれます。
さらに、black
、dark
、light
、およびwhite
の文字通りの色も利用できます。
色をサポートするコンポーネントは、color
プロパティを受け入れます。
<Button color="success">Example</Button>
これにより、レンダリングされた要素に正しいカラークラスが割り当てられます。 このcolorプロパティは、レンダリングされた要素にクラスを割り当てるため、任意の色の値を割り当てることはできません。
サイズ
いくつかのコンポーネントはsize
プロパティを受け入れますが、異なるタイプの値を受け入れる場合があります。
これは、一部のコンポーネント(Heading
など)が数値を使用するためです。
<Heading size={1}>Large Heading</Heading> <Heading size={2}>Not So Large Heading</Heading>
他の人(Button
など)はサイズにテキスト名を使用します。
<Button size="large">Large Button</Button> <Button size="small">Small Button</Button>
テキストサイズを受け入れるコンポーネントの場合、small
、normal
、medium
、およびlarge
を使用できます。 normal
サイズは、size
が指定されていない場合にデフォルトで使用されるサイズです。
グリッドシステムの使用
Bulmaは、コンテンツを一貫した方法でレイアウトするのを支援するグリッドシステムもサポートしています。 デフォルトでは、Bulmaはパーセンテージまたは列数を使用する12列のレイアウトを使用します。
まず、コンポーネントをインポートする必要があります。
import { Columns } from 'react-bulma-components';
12列のレイアウトに基づくサイズの場合、size
を1
と12
の間の数値に設定します。
<Columns> <Columns.Column size={1}>One</Columns.Column> <Columns.Column>Eleven</Columns.Column> </Columns> <Columns> <Columns.Column size={2}>Two</Columns.Column> <Columns.Column>Ten</Columns.Column> </Columns> <Columns> <Columns.Column size={3}>Three</Columns.Column> <Columns.Column>Nine</Columns.Column> </Columns> <Columns> <Columns.Column size={4}>Four</Columns.Column> <Columns.Column>Eight</Columns.Column> </Columns> <Columns> <Columns.Column size={5}>Five</Columns.Column> <Columns.Column>Seven</Columns.Column> </Columns> <Columns> <Columns.Column size={6}>Six</Columns.Column> <Columns.Column>Six</Columns.Column> </Columns> <Columns> <Columns.Column size={7}>Seven</Columns.Column> <Columns.Column>Five</Columns.Column> </Columns> <Columns> <Columns.Column size={8}>Eight</Columns.Column> <Columns.Column>Four</Columns.Column> </Columns> <Columns> <Columns.Column size={9}>Nine</Columns.Column> <Columns.Column>Three</Columns.Column> </Columns> <Columns> <Columns.Column size={10}>Ten</Columns.Column> <Columns.Column>Two</Columns.Column> </Columns> <Columns> <Columns.Column size={11}>Eleven</Columns.Column> <Columns.Column>One</Columns.Column> </Columns>
また、パーセンテージベースのサイズ設定では、size
をone-fifth
、one-quarter
、one-third
、half
、[に設定できます。 X108X]、またはthree-quarters
:
<Columns> <Columns.Column size="one-fifth">20%</Columns.Column> <Columns.Column>80%</Columns.Column> </Columns> <Columns> <Columns.Column size="one-quarter">25%</Columns.Column> <Columns.Column>75%</Columns.Column> </Columns> <Columns> <Columns.Column size="one-third">33.333333333%</Columns.Column> <Columns.Column>66.666666667%</Columns.Column> </Columns> <Columns> <Columns.Column size="half">50%</Columns.Column> <Columns.Column>Also 50%</Columns.Column> </Columns> <Columns> <Columns.Column size="two-thirds">66.666666667%</Columns.Column> <Columns.Column>33.333333333%</Columns.Column> </Columns> <Columns> <Columns.Column size="three-quarters">75%</Columns.Column> <Columns.Column>25%</Columns.Column> </Columns>
グリッドシステムへのこれら2つのアプローチは、合計でそれぞれ最大12列または100% rになります。
結論
この記事では、react-bulma-components
を使用してBulmaのいくつかの機能について説明しました。
十分にサポートされ、適切に保守されているCSSフレームワークに依存することで、プロジェクトのスタイルと設計を行うことができます。 それらは効率的な時間の節約になります。
詳細については、Bulmaドキュメントを参照してください。