スタイルシート(CSS)に携わる方々へ、
皆様の知恵を拝借したく、質問させていただきます。
段落間(P,UL等)の上下マージンの取り方についての質問です。
(A)予め段落の上マージンをゼロにリセットし、段落間は下マージンで操作
例:
p,ul { margin-top:0; margin-bottom:1em; } /* リセット */
.hoge { margin-bottom:0.5em; } /* 上の段落に指定 */
(B)予め段落の下マージンをゼロにリセットし、段落間は上マージンで操作
例:
p,ul { margin-top:1em; margin-bottom:0; } /* リセット */
.hoge { margin-top:0.5em; } /* 下の段落に指定 */
サイト構築において、(A)か(B)で悩んでいます。
皆様の意見を「具体的な理由」もあわせてお教え下さい。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
結論からいうと、どっちを選んでもメリット、デメリットの確率は50%だと考えられます。
Aの方法だと、上のマージンを消したいときに上のマージンを消さなければならないし、Bの方法も下のマージンを消したいときに下のマージンを消さなければならない、というのは当然ですね。
Aだと上に要素を追加した時は自動的にマージンが取られているから新たにマージンを取る必要はないですが、下に要素を追加する場合は新たにクラスを指定するなりしなければなりません。
Bはまた同じですね。
A、Bどちらを採用するかは作成者or運営者の好みであり、作成するサイトの構造に依存するでしょう。
既存コンテンツの下にコンテンツを追加していくならBが(若干ですが)楽になるし、上にコンテンツを追加していく場合ならAを採用すると思われます。
No.3
- 回答日時:
その前に、CSSでは、基本的に、全てのマージン・パディングを0にリセットすることから作業を始めます。
cssの最初に
* {
margin:0;padding:0;
}
をいれて全てゼロにリセットして置かないとブラウザによりこの規定値が異なりますので、ブラウザ毎にばばらばらの位置指定となって具合が良くないと思います。
ご回答ありがとうございます。
>ゼロにリセットして置かないとブラウザによりこの規定値が異なりますので
確かにそうですね。
ただ、ken_tyan様も上下の段落に間隔を取りたい場合があると思います。その場合、やはり段落の上か下にマージンを設定する必要が出てきますよね。
ken_tyan様は、間隔の調整は、上と下、どちらでとる事が多いですか?
No.4
- 回答日時:
間隔の調整は、上と下、どちらでとる事が多いですか?
>>
いままで、pとulで同じマージンを設定することはありませんでしたのでこのCCSの意味自体がわかりません。(リセットは最初に全部に対して行う:この方法はMDNの解説書なんかで常識的に解説されていますね^^)
メインのCSSファイルでマージンとパッディングを0にセットしてから・・・
<p class="box1"></p>
<ul id="navi"><li></li></ul>
などの場合は、それぞれで形が別なので、独立したプロパティーとしていましたね。この場合、共通してpにプロパティーを与えるとフォントを変えたり、いろいろできますが、実質上こういうのは、めんどうなので、#wrapperとかbodyで一括に記述していましたね。。
No.5
- 回答日時:
僕は最近はマージンはマージン。
パディングはパディング。
横幅は横幅でクラスを小分けにすることが一番多いですね。
htmlはクラスだらけになりますが、
あとでレイアウト修正になったときにcssだけいじれば、大抵は力技でなおってますかね。
事前にディレクターの本音はそれとなく探っておいて決める場合もありますw
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS HTMLとCSSによるWebページ生成について。この絵で「ochawan」の文字を枠全体の上から10 4 2023/02/28 23:17
- HTML・CSS HTMLとcssでページを作っています。右図のような形にしたいのですが、margin topで指定す 3 2023/06/08 23:39
- JavaScript htmlとcssに関する質問です 3 2022/12/06 05:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
ホームページビルダー 空白の...
-
アップロードするサーバーによ...
-
chromeだけbody直下に空白が開く
-
インラインフレームの表示位置...
-
ドリームウィーバーでホームペ...
-
右寄せ表示方法
-
コードを書いて下さい( ; ; )...
-
aタグに直接style=""で:hoverを...
-
ヘッダーの上にほんのわずかに...
-
なぜ左に寄っているの?
-
Formタグのブロックの高さについて
-
pタグによる段落間のアキ調整...
-
線が極端に細いテーブルで、特...
-
CSSで、文字は左寄せにして、文...
-
htmlのタグ間の謎の空白
-
Microsoft1Officeの互換ソフト...
-
パソコンでランドルト環の作成...
-
エクセルでサイズに合ったもの...
-
Excel セルの幅が合わない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
aタグに直接style=""で:hoverを...
-
<h1>タグの後の行間を詰めたい。
-
HTMLフォームのSELECTの幅を一...
-
インラインフレームの表示位置...
-
コードを書いて下さい( ; ; )...
-
端から端まで横線を引きたい
-
INPUT TEXT内の文字位置を指定...
-
なぜ左に寄っているの?
-
FireFoxで見るとブラウザの幅に...
-
iPhone用のサイトの文字がずれ...
-
<legend>で表示されるタイトル...
-
Formタグのブロックの高さについて
-
CSSでh1とその下の文字との行間...
-
Dreamweaverで画面サイズを一定...
-
macとwindowsのレイアウト崩れ...
-
ホームページビルダー 空白の...
-
text-alignの解除の方法
-
パソコンのみで反映される余白...
-
Firefox 横スクロールバーを表...
おすすめ情報