質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

1回答

1093閲覧

CSS設計初心者によるHTMLコードの肥大化

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2020/04/10 02:34

前提

FLOCSSを採用しました。css設計は初心者です。

実現したいこと

css設計を用いて、機能的なcssを作りたいが、HTMLのソースコードはすっきりさせたい

発生している問題

cssを部品化して組み合わせることで、再利用性は上がりましたが、
一つのHTMLタグに指定するCSSのclass名が増え、
HTMLが長くなり見づらくなってしまいました。
CSSはsassで分割したものを@importで必要なだけ読み込んでるので肥大してないと思います。

質問

HTMLが長くなるのはマルチクラスの宿命なのでしょうか?

該当のソースコード

画像と説明が一組となったブロックのリストです。
(クリックできるようにaタグで囲んでます)
各項目の幅基準に画像の高さを決めたいです。

↓ソースA

html

1<ul class="p-items"> 2 <li class="p-items__item"> 3 <a class="p-items__item__link" href=""> 4 <figure> 5 <div class="p-item-img-wrap u-relative"> 6 <img class="p-item-img-wrap__img c-absolute00 p-size100per u-objectfit-contain" src="hoge.svg" alt=""> 7 </div> 8 <figcaption class="p-item-img-txt">あいうえお</figcaption> 9 </figure> 10 </a> 11 </li><!--/.p-items__item--> 12 <li class="p-items__item"> 13 <!--省略--> 14 </li><!--/.p-items__item--> 15 <li class="p-items__item"> 16 <!--省略--> 17 </li><!--/.p-items__item--> 18</ul> 19

ソースAでは、

css

1.c-absolute00{ 2position:absolute; 3top:0; 4left:0; 5} 6.p-size100per{ 7width:100%; 8height:100%; 9} 10.u-objectfit-contain/*IE用のjs作動させるため別途用意*/{ 11object-fit:contain; 12}

という風に、このリスト以外でもよく使っていた便利部品のcssを再利用しました。
しかしhtmlが長くなってしまいました。

試したこと

シングルクラスを検討・・・
htmlは短くなるが、classの再利用ができなくなる分、cssが肥大?

「FLOCSS html肥大」や「マルチクラス html肥大」で検索・・・
cssの肥大を抑えるものばかり。htmlについては見つけられなかった。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

現行法ならフォーマット次第で対応できるのかなぁと思います。

<img class=" p-item-img-wrap__img c-absolute00 p-size100per u-objectfit-contain" src="hoge.svg" alt="" />

そもそもの肥大化という課題を解決されたいようでしたら、vuetifyなどのコンポーネント指向による技術を選定された方がいいのではと思いました。

投稿2020/04/10 02:38

mackintosh

総合スコア228

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/04/11 13:56

ご回答ありがとうございます。vuetifyというものについて調べてみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問