
CSSに書き込んで、h1~6までそれぞれに設定を割り振れる事は分かったのですが、h2~6のどれかで囲った見出しが複数あり、その中の一つだけにclass、idを設定して装飾などの設定を変えることは可能ですか?
h2タグを使って見出しをいくつか作成しました。
ですが最初の1つだけ前後の改行が邪魔で消したいです。
試しにHTMLを
<span class="name"><h2>見出し</h2></span>
CSSを
.name { margin: 0px; }
としたのですが、変わりません…。
HTML初心者なので、とんでもないレベルのミスをしてしまっているかもしれませんが、教えてくださると嬉しいです。
No.1ベストアンサー
- 回答日時:
●間違いについて
<span class="name"><h2>見出し</h2></span>
これ間違いです。spanの中にはh2は入れられません。入れられたとしても、spanの指定がh2に反映されることなく、h2への指定はそのまま残るのでなんら変わらないと思います。
【勉強すべき事】
内包できる要素は、要素により決まっています。親になる要素も決まっています。
文書宣言によるのですが、html4までなら、「インライン要素に、ブロックレベル要素は入れられません」と単純なルールですが、html5はそうも言いきれません。がしかし、spanの中にはh2はhtml5でも入れられません。
このあたりのことは、きちっと入門書を前から順番に習得する場合には最初のうちにでてくるのですが、つまみ食い的な学習方法だと知らないままの方が躓く所です。
h2にはspanは入れられます。がしかし、h2の中にspanを入れた所で、結果は新しいspanのmarginが0になるだけなので、なんら、変わらないでしょう。
●提案
では、どうするかというと、特定の見出しのみ<h2 class="name">とされてはいかがでしょうか?
classを付ける為だけにspanやidを入れるのは、つまみ食い的に学習をするかたによく見られる間違いです。
【勉強すべき事】
spanやdivにだけidやclassが付けられると思っている方がおられますが、全てのタグに付けられます。
●エスパー提案
さらに、最初の1つだけとのことですので、なにの最初かわからないのですが、
<h1>見出し</h1>
<h2>今回の見出し</h2>
h1とすぐ後に続くh2への指定は、
h1+h2{margin-top:0;}
で、対応可能です。この場合、ことさらに、class="name"を入れる必要はありません。
【勉強すべき事】
セレクタの文法
前述ののセレクタは「隣接兄弟セレクタ」と呼ばれる物です。
また、最初の子要素を示す、「first-child疑似クラス」というセレクタを利用しても、class="name"を付ける必要はありません。
No.2
- 回答日時:
・class名はデザインのためじゃない!!
あくまで、その文書を構成している要素をタグを使ってマークアップする。
その中で複数の【文書の構造上】複数で構成されるグループはclassで、
唯一のものは、idで分類する。
<h2 class="plant Name" id="Camellia_japonica">椿</h2>
<p><span class="plant Name">椿</span>はツバキ科の・・・</p>
<h2 class="animal Name" id="Nyctereutes_procyonoides">タヌキ</h2>
<p><span class="animal Name">タヌキ</span>はイヌ科タヌキ属の・・・</p>
・スタイルシートで、HTML文書中のある要素にスタイルを指定するときには、その文書構造を元に指定していきます。
段落(p要素)は、マージンを消して一文字インデントさせるなら
p{margin:0;text-indent:1em;}
見出し(h2)で植物名が書かれているものは赤字にしたいのでしたら、
h2.plant{color:red;}
植物・動物の名前は太字でしたら
*.Name{font-weight:bold;}
段落中の名前はアンダーライン引きたければ
p span.Name{text-decoration:underline;}
最初の段落だけ先頭の文字を
CSS(カスケーディングスタイルシート)のカスケードの仕組みを理解していないと、複雑怪奇でメンテナンスができなくなるHTML、CSSを書くことになります。
そのため、CSSの命といえるカスケード
5 セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
6 プロパティ値とカスケーディング、継承の割り当て( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
をまず身につけましょう。仕様書でもプロパティより前に説明がある。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- JavaScript htmlとcssで分数を表示後、分数の右側に文書を書きたい 1 2022/04/28 10:09
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
webデザイン 疑問点
-
親エレメントに含まれる子エレ...
-
スタイルシートのドットが#に...
-
css:positionの挙動について
-
スタイルシートについて
-
CSS 記事内link色変更方法
-
WP image widgetプラグインでマ...
-
webサイト印刷時に特定の画像を...
-
文章のマークアップについて
-
CSS, リンクの色を一部変えるに...
-
他のページへリンクさせるタグ...
-
ユーザースタイルシートの限定...
-
CSSという文字をspanで色を変え...
-
CSSで、DIV#hogeという記述は何...
-
テキストボックスいくつかのう...
-
CSSのツールチップにアニメーシ...
-
liリストタグの背景色に色がつ...
-
擬似クラスの子要素を指定する...
-
【CSS】HTML要素の指定
-
この場合はid?class?
マンスリーランキングこのカテゴリの人気マンスリー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で定...
-
子孫セレクタの読み方をおしえ...
おすすめ情報