弊社はあらゆる記法に対応していますので、
同じHTMLで、CSSの記法を変えてどのように書いているのかを紹介します。
<div >
<header>
<h1>Reezote</h1>
<p >Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2 >サービス一覧</h2>
<div>
<img src="https://placehold.jp/150x150.png" alt="Web制作" >
<h3>記法の歴史</h3>
<p>ここにその記法の説明</p>
</div>
</section>
</div>
このHTMLをベースに書いていきましょう。
/* BEMスタイル */
.container {
background: linear-gradient(135deg, #f06, #4a90e2);
padding: 2rem;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.header__title {
font-size: 2rem;
color: #fff;
text-align: center;
}
.header__description {
font-size: 1.2rem;
color: #eee;
}
.service-item {
background: #fff;
padding: 1.5rem;
margin-bottom: 2rem;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.service-item__image {
width: 150px;
height: 150px;
margin-bottom: 1rem;
}
.service-item__name {
font-size: 1.5rem;
color: #333;
}
.service-item__description {
color: #666;
line-height: 1.6;
}
<div class="container">
<header class="header">
<h1 class="header__title">Reezote</h1>
<p class="header__description">Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section class="services">
<h2 class="services__title">サービス一覧</h2>
<div class="service-item">
<img src="https://placehold.jp/150x150.png" alt="Web制作" class="service-item__image">
<h3 class="service-item__name">BEMの歴史</h3>
<p class="service-item__description">BEMは2010年代にYandexによって導入され、CSSクラスをより分かりやすくし、プロジェクトを拡張しやすくする目的で開発されました。BEMは、大規模なプロジェクトでコンポーネントを再利用しやすくするために有効です。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
BEMは2010年代にYandexによって導入され、CSSクラスをより分かりやすくし、プロジェクトを拡張しやすくする目的で開発されました。BEMは、大規模なプロジェクトでコンポーネントを再利用しやすくするために有効です。
このような感じです。
/* OOCSSスタイル */
.container {
background: linear-gradient(45deg, #34e89e, #0f3443);
padding: 2rem;
border-radius: 8px;
}
.title {
font-size: 2rem;
color: #fff;
text-align: center;
}
.description {
font-size: 1.2rem;
color: #ddd;
}
.service-item {
background: #fafafa;
padding: 1.5rem;
margin-bottom: 2rem;
border-radius: 8px;
border: 1px solid #eee;
}
.service-item img {
width: 150px;
height: 150px;
}
.service-item h3 {
font-size: 1.5rem;
color: #333;
}
.service-item p {
color: #555;
line-height: 1.6;
}
<div class="container">
<header>
<h1 class="title">Reezote</h1>
<p class="description">Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2 class="title">サービス一覧</h2>
<div class="service-item">
<img src="https://placehold.jp/150x150.png" alt="Web制作">
<h3>OOCSSの歴史</h3>
<p>OOCSSは「Object-Oriented CSS」の略で、スタイルを再利用可能な「オブジェクト」として設計する考え方です。OOCSSは、見た目と構造を分離して記述するため、Web制作において保守性を高めるのに役立ちます。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
OOCSSは「Object-Oriented CSS」の略で、スタイルを再利用可能な「オブジェクト」として設計する考え方です。OOCSSは、見た目と構造を分離して記述するため、Web制作において保守性を高めるのに役立ちます。
こんな感じ。
/* SMACSSスタイル */
.container {
background: linear-gradient(to right, #f7ff00, #db36a4);
padding: 2rem;
border-radius: 8px;
}
h1 {
font-size: 2rem;
color: #fff;
text-align: center;
}
p {
font-size: 1.2rem;
color: #eee;
}
.service-item {
background: #fff;
padding: 1.5rem;
margin-bottom: 2rem;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.service-image {
width: 150px;
height: 150px;
}
.service-name {
font-size: 1.5rem;
color: #444;
}
.service-description {
color: #555;
line-height: 1.6;
}
<div class="container">
<header>
<h1>Reezote</h1>
<p>Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2>サービス一覧</h2>
<div class="service-item">
<img src="https://placehold.jp/150x150.png" alt="Web制作" class="service-image">
<h3 class="service-name">SMACSSの歴史</h3>
<p class="service-description">SMACSSはJonathan Snookが提唱したCSSアーキテクチャで、大規模なCSSプロジェクトをスケールしやすくするためのルールを提供します。カテゴリ分けによるモジュール設計に優れています。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
SMACSSはJonathan Snookが提唱したCSSアーキテクチャで、大規模なCSSプロジェクトをスケールしやすくするためのルールを提供します。カテゴリ分けによるモジュール設計に優れています。
こんな感じですね。
/* Atomic CSSスタイル */
.p-2 {
padding: 2rem;
}
.m-2 {
margin-bottom: 2rem;
}
.text-center {
text-align: center;
}
.bg-gradient {
background: linear-gradient(90deg, #f093fb, #f5576c);
}
.shadow {
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.text-white {
color: #fff;
}
.text-gray {
color: #888;
}
.img-150 {
width: 150px;
height: 150px;
}
<div class="p-2 bg-gradient text-white">
<header>
<h1 class="text-center">Reezote</h1>
<p>Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2>サービス一覧</h2>
<div class="shadow p-2 m-2">
<img src="https://placehold.jp/150x150.png" alt="Web制作" class="img-150">
<h3>Atomic CSSの歴史</h3>
<p class="text-gray">Atomic CSSは、各クラスが1つのプロパティだけを管理するシンプルなスタイルです。ユーティリティファーストの考え方で、Tailwind CSSなどのフレームワークがこの概念を採用しています。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
Atomic CSSは、各クラスが1つのプロパティだけを管理するシンプルなスタイルです。ユーティリティファーストの考え方で、Tailwind CSSなどのフレームワークがこの概念を採用しています。
こんな感じです。
/* ITCSSスタイル */
:root {
--primary-color: #4a90e2;
--secondary-color: #50e3c2;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
padding: 2rem;
border-radius: 8px;
}
h1 {
font-size: 2rem;
color: #fff;
text-align: center;
}
p {
font-size: 1.2rem;
color: #eee;
}
.service-item {
background: #fff;
padding: 1.5rem;
margin-bottom: 2rem;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.service-image {
width: 150px;
height: 150px;
}
.service-name {
font-size: 1.5rem;
color: #333;
}
.service-description {
color: #666;
line-height: 1.6;
}
<div class="container">
<header>
<h1>Reezote</h1>
<p>Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2>サービス一覧</h2>
<div class="service-item">
<img src="https://placehold.jp/150x150.png" alt="Web制作" class="service-image">
<h3 class="service-name">ITCSSの歴史</h3>
<p class="service-description">ITCSSは、スタイルシートをレイヤーごとに整理し、上から下へスタイルの詳細度が増すように設計されています。これにより、CSSを効率的に管理できます。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
ITCSSは、スタイルシートをレイヤーごとに整理し、上から下へスタイルの詳細度が増すように設計されています。これにより、CSSを効率的に管理できます。
/* Tailwind風のユーティリティクラス */
.bg-gradient-to-r {
background: linear-gradient(to right, #ff7e5f, #feb47b);
}
.text-white {
color: white;
}
.text-xl {
font-size: 1.5rem;
}
.text-lg {
font-size: 1.25rem;
}
.font-bold {
font-weight: bold;
}
.shadow-lg {
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.rounded-lg {
border-radius: 0.75rem;
}
.p-4 {
padding: 1rem;
}
.mt-4 {
margin-top: 1rem;
}
.mb-4 {
margin-bottom: 1rem;
}
<div class="bg-gradient-to-r p-4 rounded-lg text-white">
<header class="text-center mb-4">
<h1 class="text-xl font-bold">Reezote</h1>
<p class="text-lg">Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2 class="text-lg font-bold mb-4">サービス一覧</h2>
<div class="shadow-lg p-4 rounded-lg">
<img src="https://placehold.jp/150x150.png" alt="Web制作" class="mb-4">
<h3 class="text-lg font-bold">Utility-First CSSの歴史</h3>
<p>Utility-First CSSは、クラス名が直接デザインスタイルを表現する方式です。Tailwind CSSが代表例で、特定のスタイルを短いクラスで素早く適用できるため、プロジェクトのスピードを高めます。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
Utility-First CSSは、クラス名が直接デザインスタイルを表現する方式です。Tailwind CSSが代表例で、特定のスタイルを短いクラスで素早く適用できるため、プロジェクトのスピードを高めます。
/* SUIT CSSスタイル */
.Component {
background: linear-gradient(45deg, #74ebd5, #acb6e5);
padding: 2rem;
border-radius: 8px;
color: white;
}
.Component-element {
font-size: 1.5rem;
margin-bottom: 1rem;
}
.Component-element--large {
font-size: 2rem;
font-weight: bold;
}
.is-active {
background: #ff6b6b;
border-radius: 8px;
padding: 1rem;
}
<div class="Component">
<header class="Component-element--large">Reezote</header>
<p class="Component-element">Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
<section>
<h2 class="Component-element--large">サービス一覧</h2>
<div class="is-active">
<img src="https://placehold.jp/150x150.png" alt="Web制作">
<h3>SUIT CSSの歴史</h3>
<p>SUIT CSSは、BEMに似たCSSの記法で、要素に関連したスタイルをコンポーネントとして管理します。状態を示すクラス(is-)もあり、UIの状態に応じてスタイルを変更するのが簡単です。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
SUIT CSSは、BEMに似たCSSの記法で、要素に関連したスタイルをコンポーネントとして管理します。状態を示すクラス(is-)もあり、UIの状態に応じてスタイルを変更するのが簡単です。
/* Cube CSSスタイル */
.container {
background: linear-gradient(135deg, #4ca1af, #c4e0e5);
padding: 2rem;
border-radius: 8px;
}
.u-padding {
padding: 1rem;
}
.u-margin-bottom {
margin-bottom: 2rem;
}
.u-text-center {
text-align: center;
}
.u-bg-white {
background-color: white;
border-radius: 8px;
}
.u-shadow {
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.u-text-gray {
color: #666;
}
.u-font-bold {
font-weight: bold;
}
<div class="container u-padding u-bg-white u-shadow">
<header class="u-text-center u-margin-bottom">
<h1 class="u-font-bold">Reezote</h1>
<p>Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2 class="u-font-bold u-margin-bottom">サービス一覧</h2>
<div class="u-padding u-bg-white u-shadow u-margin-bottom">
<img src="https://placehold.jp/150x150.png" alt="Web制作">
<h3 class="u-font-bold">Cube CSSの歴史</h3>
<p class="u-text-gray">Cube CSSは、コンテナベースのスタイルとユーティリティクラスを組み合わせ、シンプルかつスケーラブルなスタイル設計を行う方法です。設計がしやすく、変更に強い構造です。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
Cube CSSは、コンテナベースのスタイルとユーティリティクラスを組み合わせ、シンプルかつスケーラブルなスタイル設計を行う方法です。設計がしやすく、変更に強い構造です。
/* DRY CSSスタイル */
.container {
background: linear-gradient(180deg, #ff512f, #dd2476);
padding: 2rem;
border-radius: 8px;
}
.text-center {
text-align: center;
}
.text-white {
color: white;
}
.heading-large {
font-size: 2rem;
font-weight: bold;
}
.card {
background-color: white;
padding: 1.5rem;
margin-bottom: 1.5rem;
border-radius: 8px;
box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1);
}
.card-title {
font-size: 1.5rem;
font-weight: bold;
margin-bottom: 0.5rem;
}
.card-text {
color: #666;
}
<div class="container text-center">
<header>
<h1 class="heading-large text-white">Reezote</h1>
<p class="text-white">Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。</p>
</header>
<section>
<h2 class="heading-large text-white">サービス一覧</h2>
<div class="card">
<img src="https://placehold.jp/150x150.png" alt="Web制作">
<h3 class="card-title">DRY CSSの歴史</h3>
<p class="card-text">DRYは「Don't Repeat Yourself」の略で、CSSコードの重複を避け、再利用可能なスタイルを作ることを目的としています。これにより、保守性と可読性が向上します。</p>
</div>
</section>
</div>
Reezoteは、WEB制作、SEO、MEO、会計DXを提供するソリューションカンパニーです。
DRYは「Don’t Repeat Yourself」の略で、CSSコードの重複を避け、再利用可能なスタイルを作ることを目的としています。これにより、保守性と可読性が向上します。
コーダーの方も自分はBEM記法だったのかなどと気づく方もいるかと思います。
クライアントさんのコーディング規約がある場合はそれに従って柔軟にコーディングできるようになると良いですね。
目的さえ達成できるなら記法はなんでも良いと思いっていますので、
弊社はリクエストがある場合は記法はそれに合わせて実装可能です。