
こんばんは、スタイルシートの記載についての質問(疑問)です
スクリプトでは、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 記事内link色変更方法
-
スタイルシートについて
-
印刷用CSS IEのとき、画像が印...
-
サイトにjQueryが使用されてい...
-
CSSのクラス名・ID名の指定でワ...
-
文章のマークアップについて
-
CSS classの場合とidの場合の指...
-
cssの見栄えをタブで整えないの...
-
子孫セレクタの読み方をおしえ...
-
htmlの文字が縦書きになる
-
改行ほどは行かないけど、若干...
-
含む含まないという概念自体の...
-
htmlのolやulなどlistにtitleや...
-
リンクを知らせる手のマークが...
-
NからZへの全単射を具体的に構...
-
smallにtext-allignが効かない
-
ナマズのスコアについて
-
複数の文字を一度に置換ってで...
-
xhtmlでの画像サイズ指定につい...
-
CSSについての質問ですが、左右...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別にリンクの色を変える方法
-
idの中のid指定
-
サイトにjQueryが使用されてい...
-
liリストタグの背景色に色がつ...
-
brにクラスをつけてcssでdispla...
-
HTML要素のid/class名の長さに...
-
inputタグのテキストBOXだけ右...
-
リンク文字の 一部だけ色を変...
-
CSSのクラス名・ID名の指定でワ...
-
特定の見出しのみ前後の空白を...
-
同ページ内でリンクの色を変え...
-
スタイルシートで、id属性の中...
-
[HTML] selectの線を非表示に...
-
CSSの適用を一部だけ除外したい。
-
HP作成(ワッパーを中心に)
-
<span>で2重にかけているものを...
-
オンマウス時の背景色を個別に...
-
Bootstrap 訪問済みテキストリ...
-
最近、HTMLのヘッダーをIDで定...
-
子孫セレクタの読み方をおしえ...
おすすめ情報
クラスやタグ内に記載するときにはインデントを入れるのは承知してますが、親子の要素同士でインデントを入れないのはなぜかという意味の質問です