
はじめまして。
CSSで作成しているんですが、よく「dl」「dt」「dd」を使って一列に
日付 ○○○○○○
というのを見かけるんですが、やり方がわからず困っています。
どうすればいいのでしょうか?
また、「dl」を使うと「p」のように上下?に大きな空白が出来てしまうんですが、これを回避する方法はありますでしょうか?
といいますか、よく見かけるものでは空白などできておらず、むしろ行間に画像を入れて小さな空白を作っているように思うんですが・・・
こちらも合わせて教えていただけると幸いです。
どうかよろしくお願いいたします。

No.8ベストアンサー
- 回答日時:
#5、#6です。
お返事が遅くなりまして申し訳ありません。.box-aの中にあるmargin-top: 30px;と#rightの中にあるmargin-top: 10px;が
上部に○○px分の余白を取っていることになります。
<div class="box-a">
<div class="day">
<dt>2007.11.12</dt>
<dd>○○○○○○○○</dd>
<dt>2007.11.12</dt>
<dd>○○○○○○○○</dd>
</dl>
</div>
</div>
と書いてしまうと30px分の余白が出来てしまうのです。
「margin-top: 30px;」を取るとその余白は出来なくなると思いますよ。
> firefoxだと2行分までとはいかないまでも空白がありました。
.day dl{
margin: 0px;
padding: 0px;
width: 330px;/*幅(任意ですがdtとddのwidth+margin30pxの合計になるようにしてください)*/
}
.day dt{
clear: both;
float: left;
width: 80px;/*日付の幅(任意)*/
padding: 1px;/*文字周りの余白(表記しなくてもいいです)*/
}
.day dd{
width: 200px;/*テキストの幅(任意)*/
margin: 0 0 0 30px;/*日付とテキスト間の幅(30px分幅を取っています)*/
padding: 1px;/*文字周りの余白(表記しなくてもいいです)*/
}
と表記すると余白が少なく表示されると思います。
No.7
- 回答日時:
こんにちは。
横から失礼します。
こんなソースはいかがでしょう?
.box-a {
zoom: 100%;
}
.box-a:after {
content: " ";
clear: both;
height: 0;
display: block;
visibility: hidden;
}
.box-a dl {
margin: 0px;
padding: 0px;
}
.box-a dt {
float: left;
clear: left;
width: 100px;
}
.box-a dd {
margin-left: 130px;
}
<div class="box-a">
<dl>
<dt>タイトル</dt>
<dd>あいうえおあいうえお</dd>
<dt>タイトル</dt>
<dd>あいうえおあいうえお<br />あいうえおあいうえお<br />あいうえおあいうえお</dd>
<dt>タイトル</dt>
<dd>あいうえおあいうえお</dd>
</dl>
</div>
参考になれば幸いです。

No.6
- 回答日時:
#5です。
<div class=box-a>はのCSS記述はどのようにされていますか?
(正しい指定は<div class="box-a">です。「"」を忘れないようにしてくださいね)
それを書いてくださると何故起きるのかわかるかもしれません。
<div class="box-a">を一度削除して#5で記述した通りにされてみてはどうでしょうか?
この回答への補足
何度もすみません。
たった今ブラウザで確認したところ、上の空白はなくなっていました!
ただ、firefoxとIEだと見え方か少し異なってくるんですね・・・
IEだと隙間なく表示されるんですが、firefoxだと2行分までとはいかないまでも空白がありました。
できれば間をとった距離が欲しいんですが(笑
本当難しいです・・・
深夜遅くの度重なる回答、本当にありがとうございます。
box-aについてですが
.box-a {
width: 550px;
height: 250px;
float: left;
margin-top: 30px;
background-image: url(img/info-bg.gif);
background-repeat: no-repeat;
}
としています。
試しにbox-aを消してみましたがやはり同じような現象が起きました。
ちなみにさらにdiv id="right"で囲んでいるんですがこちらは
#right {
width: 550px;
margin-left: 15px;
margin-top: 10px;
height: 280px;
background-repeat: no-repeat;
background-image: url(img/infomation.gif);
}
となっています。
ひょっとするとこちらが原因でしょうか?
難しいです・・・

No.5
- 回答日時:
試しに書いてみましたが…。
ご参考までにお願い致します。CSS部分例
.day dl{width: 330px;/*幅*/}
.day dt{clear: both;
float: left;
width: 80px;/*日付の幅*/
padding: 2px;/*文字周りの余白*/}
.day dd{width: 200px;/*テキストの幅*/
margin: 0 5px 0 30px;/*日付とテキスト間の幅(30px分幅を取っています)*/
padding: 2px;/*文字周りの余白*/}
html部分例
<div class="day">
<dl>
<dt>2007.11.12</dt>
<dd>○○○○○○○○</dd>
<dt>2007.11.12</dt>
<dd>○○○○○○○○</dd>
</dl>
</div>
> 「p」のように上下?に大きな空白が出来てしまうんですが
これは今回では「padding」で文字の周りに小さな余白を作っています。
ご参考になりましたら幸いです。
この回答への補足
早速やってみました!
一行にやるやり方は、おかげ様でばっちりできたんですが、空白についてやはりできませんでした・・・
ちなみに空白というのは「dl」タグの上の部分がどうしても改行2行分ほど空いてしまうのです。
<div class=box-a>
<div class=day>
<dl>・・・・・
としたんですがなぜか始まりの日付の部分がbox-aの改行2行分下から始まってしまいます。
padding30px分くらいあいて始まってしまいます。
ここの空白部分を調節したいんですが・・・
もしご存知でしたらどうかよろしくお願いいたします。
何度もすみません・・・
ありがとうございます!
これを見て何となくですが、クラスについて一歩前進したような気がします・・・
一度自分のファイルに移して返信しながら研究してみたいと思います、
本当にありがとうございました!
No.4
- 回答日時:
outbraveさんが全部答えを書いてくれたみたいですが、
「float:leftということは、「dt」「dd」をdivで囲って、やるということでしょうか」
と聞くあたりCSSについてあまり理解なされていませんね?
divを使う必要はありませんよ。一度リファレンスなどを購入なさってみてはいかがでしょうか。
セレクタやプロパティなど基本的なことを理解しておいた方が後々壁にぶつかることがなくなります。
ちなみにflortでもinlineでもどっちでも可能です。場合によって使い分けてください。
偉そうに書いてみましたが、私も勉強中の身です。
お互い頑張りましょう。
セレクタやプロパティ。。。
ほんと何も分かってないです(汗
ひとまずなんでもdivで囲って作っています。
一度ちゃんと勉強してみます!
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
CSSで背景画像を一番下にもって...
-
【CSS】ヘッダーの高さが不明の...
-
Liで背景画像が表示されない (...
-
画像イメージの上下左右、欲し...
-
スクロールボックス内の文字の...
-
footer を横幅いっぱいに広げる...
-
CSSで背景色を下まで表示させたい
-
html、センター表示にならない...
-
html の divとtable の役割
-
含む含まないという概念自体の...
-
ある要素の中身を全部グレーア...
-
【ヒトの神秘】美男美女から何...
-
ボタンをセル内一杯に表示させ...
-
HTML5のfooterに見出しを付けて...
-
訪問済のリンク色を変えない方法
-
マウスカーソルを当てた時だけ...
-
<h1>、<h2>と<p><div>の行間を...
-
divタグ内のコンテンツが重なっ...
-
外部スタイルシートで定義した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
画像イメージの上下左右、欲し...
-
表示倍率を変えるとレイアウト...
-
【CSS】ヘッダーの高さが不明の...
-
CSSがなぜかfont-sizeだけ効か...
-
<div>と<div>の間の10px程の...
-
CSSの角丸での質問です。 今、C...
-
divで囲まれたpaddingの指定を...
-
「dt」「dd」の内容を一列で表...
-
ネガティブマージン
-
CSS上での計算を行うためのルー...
-
Flexslider2のカーセルスライダ...
-
CSSで画面サイズを縮小するとレ...
-
W3Cのソースコードの検証サービ...
-
HTML、cssのatomつぅー...
-
footer を横幅いっぱいに広げる...
-
初心者html・CSS ウィンドウを...
おすすめ情報