こんばんは、スタイルシートの記載についての質問(疑問)です
スクリプトでは、ifやfor内の記載等々について、インデントを入れ見栄えを整えます
また、HTMLであれば、内包する要素について、同様にインデントをいれて見栄えを整えます
しかし、スタイルシートについてインデントを整える慣習は見受けられませんが、何故でしょうか?
スタイルシートの場合、タグやクラスにまとめて値を指定するため、あまり意味がないからでしょうか?
<body>
【インデント】<div class="hoge">
【インデント】【インデント】<p></p>
【インデント】</div>
</body>
例えば上記のようなHTMLにて、divタグと内包するpタグに対して、それぞれ別のスタイルシートの値を設定する場合、下記のほうが、ぱっとみた時に、親と子の関係が分かりやすいと思いませんか?
.hoge{
}
【インデント】.hoge p{
【インデント】}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
確かな正解を回答することはできませんが、ご参考程度に。
セレクタが単純な親子要素だけで構成されるものだけではないからですね。
隣接セレクタもあるし、子セレクタと子孫セレクタは別な指定方法です。
書き方によっては大変複雑なセレクタ指定もできます。
ですから、あくまで1つのセレクタ指定に対してのデザイン定義であることになります。
また、基本的には構造とデザインは本来、別次元のものであり、密になってはならないという考えがあります。
様々なCSSを複数活用することによってデザインを構成させるため、事あるごとに親子関係を意識するCSSを乱立して用意するのはナンセンスです。
それが、CSSのセレクタは極力深い指定をしてはらない、極力詳細度の高いセレクタ指定(IDセレクタ、要素セレクタ)をしてはならないと言われる所以です。
それでも親子関係が構成されてしまうシーンもあり得るわけですが、
先に述べた通り、様々なセレクタがある以上、特定のセレクタを
指定した時だけインデントするのはおかしな話です。
例えば.hoge:hover があったら、それはインデントするのですか?
.hogeに関わるものですが。という話になります。
また、親子表現をした上で書くならネストであるべきなので
.hoge {
/* css */
p {
/* css */
}
}
といった書き方が直観的でしょうが、CSSは先の説明にある特性や仕様の通り、そういった表現はできません。
インデントはネストされるものがあるから行うものであり、
異なる文をインデントするのは、どんな言語を取ってみてもおかしいです。
しかし、同じように思っている人は沢山いるわけです。
そこで、あなたが仰っているのは、SCSSによって表現することが可能です。
当然、それをCSSにコンパイルする環境を用意する必要があります。
https://spyweb.media/2017/12/20/scss-nested-rule …
どんなにCSSのバージョンが上がろうと、破壊的な仕様変更は行われないと思うので、どうしてもネスト表記によってCSSを管理・構成したいならばSCSSを検討された方がいいかと思います。
作る規模によっては、利用するのが当たり前になっていますし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) Word2013 一行目のインデント位置 1 2022/09/23 06:05
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- その他(悩み相談・人生相談) 大学生です レポートについて質問します 引用や参考にした文章と本文の流れがある場合は、無理にインデン 1 2023/06/02 07:20
- Word(ワード) ワードのインデントについて 写真②のぶら下げインデントだけ動かしたくても、いつも写真③まで動いてしま 3 2022/07/31 19:06
- Word(ワード) ワード(2013)行間設定について 3 2023/08/08 09:27
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- アプリ IndentationError: unexpected indent 1 2022/07/10 17:22
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSに同じclass名がいっぱい‥。...
-
子孫セレクタの読み方をおしえ...
-
ページの左右の余白(枠外)に...
-
最近、HTMLのヘッダーをIDで定...
-
bootstrapでnavbar で一番左側...
-
brにクラスをつけてcssでdispla...
-
個別にリンクの色を変える方法
-
idの中のid指定
-
CSSでid名やclass名に「_」や「...
-
[HTML] selectの線を非表示に...
-
cssのflexのレイアウト
-
htmlの文字が縦書きになる
-
マージソートの計算量について-...
-
角丸画像の背景色を透明にした...
-
ワードにコピペ、画像が表示さ...
-
HTML属性での「""」 「''」違い
-
CSSがなぜかfont-sizeだけ効か...
-
2個のFormを横並びにしたい
-
Media Queries 4 で 非推奨とな...
-
中点「・」の改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別にリンクの色を変える方法
-
CSSに同じclass名がいっぱい‥。...
-
HTML要素のid/class名の長さに...
-
idの中のid指定
-
最近、HTMLのヘッダーをIDで定...
-
サイトにjQueryが使用されてい...
-
liリストタグの背景色に色がつ...
-
CSSのホバーエフェクト
-
ページの左右の余白(枠外)に...
-
スタイルシートで、id属性の中...
-
CSS, リンクの色を一部変えるに...
-
htmlのid属性って必要なの?
-
透過背景を解除するにはどうす...
-
外部css定義したclassをht...
-
CSSのクラス名・ID名の指定でワ...
-
<span>で2重にかけているものを...
-
子孫セレクタの読み方をおしえ...
-
Bootstrap3でcontainerがずれる...
-
brにクラスをつけてcssでdispla...
-
CSSが効かずどのように指定すれ...
おすすめ情報
クラスやタグ内に記載するときにはインデントを入れるのは承知してますが、親子の要素同士でインデントを入れないのはなぜかという意味の質問です