WebサイトのQ&Aのページを<dl>要素を使って作成しています。
質問項目には、background-imageだけを使い、
回答項目には、background-imageとbackground-colorを使っております。
それぞれの回答項目のbackground-colorのwidthを592pxで統一したいのですが、できません。
回答の文字数が少ないと、background-colorの横幅が足りなくなり、文字数が多いと592pxを超えてサイドバーと重複してしまいます。
かれこれ4時間くらい格闘しておりますが、きちんと表示できません。
ちなみに、dl、dt、ddの要素のうち、marginとpaddingはリセットCSSをしています。
以下に、該当するHTMLとCSSだけ書きました。
何がいけないんでしょうか?
もしくは、以下のコードだけではなく、親要素の属性や属性値とかが問題なのでしょうか?
<!-- HTML -->
<dl>
<dt class="questiontext_dt">ここで質問</dt>
<dd class="question?dd">ここで回答してます</dd>
</dl>
/* CSS*/
.questiontext_dt {
width:592px;
padding: 0px 0px 0px 35px;
margin: 0px 0px 10px 0px;
font-size: 15px;
color: #000000;
display: inline;
text-align: left;
float: left;
font-family: "MS Pゴシック",sans-serif;
background:url(http://www.ok.com/img/question1.gif);
background-repeat: no-repeat;
}
.questiontext_dd {
width:592px;
padding: 5px 0px 5px 35px;
margin: 0px 0px 10px 0px;
font-size: 15px;
color: #000000;
display: inline;
float: left;
font-family: "MS Pゴシック",sans-serif;
background-color: #f5eabc;
background-image:url(http://www.ok.com/img/question2.gif);
background-position: left 5px;
background-repeat: no-repeat;
}
No.3ベストアンサー
- 回答日時:
簡単なサンプルを書いておきます。
方法はいくつかありますが、思いつく3通りだけ入れておきます。そのように配置するなら、floatは不要です。
簡略化プロパティを使用紙、一部しか書かないと他のプロパティは消えます。
(例) background-color:redとしておいて、その後でbackground:url();などとするとbackground-colorの指定はないものとして扱われます。
★リキッドデザインにしておきます。横幅は固定すべきではないでしょう。
幅広のディスプレイからスマホのような狭いものまで、ひとつのスタイルシートですみます。ウィンドウ幅を狭くして確認してください。
そのほうが書くのも、ずっと楽です。
HTMLもスタイルシートもシンプルです。
★Another HTML-lint gateway ( http://cetus.sakura.ne.jp/htmllint/htmllint.html )
★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_ … )
でチェック済みの、HTML4.01strict+CSS2.1 (Shift_JIS)です。
タブは_に置換してあります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;line-height:1.6em;}
p{text-indent:1em;}
div.header,div.section,div.footer{width:80%;margin:0 auto;}
div.section{position:relative;min-height:400px;}
#QandA{margin-right:30%;}
#QandA dt{font-weight:bold;}
#QandA dd{background-color:#f5eabc;}
#QandA dt,#QandA dd{margin:0 0 0 50px;clear:left;padding:5px;min-height:40px;}
/* display:list-itemとlist-style-imageを使う方法 */
/*
#QandA dt,#QandA dd{display:list-item;}
#QandA dd{list-style-image:url(./images/a.gif);}
#QandA dt{list-style-image:url(./images/q.gif);}
*/
/* :before擬似要素とcontent */
/*
#QandA dd:before,#QandA dt:before{float:left;margin:0px 5px 0 0;}
#QandA dd:before{content:url(./images/a.gif);}
#QandA dt:before{content:url(./images/q.gif);}
*/
/* background-image */
#QandA dt,#QandA dd{padding-left:60px;background-position:5px 5px;background-repeat:no-repeat;}
#QandA dd{background-image:url(./images/a.gif);}
#QandA dt{background-image:url(./images/q.gif);}
/* ここまでがbackground */
div.section div.aside{position:absolute;right:0;top:0;width:29%;font-size:0.9em;padding:0.5%;}
div.section div.aside h3{display:none;}
div.section div.aside p{margin:0 1em;}
div.section div.aside ul,div.section div.aside ul li{display:block;list-style-type:none;margin:0;padding:0;}
div.section div.aside ul li{background-color:aqua;}
div.section div.aside ul li+li{margin-top:10px;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは定義リストのデザインの仕方を説明しています。</p>
_</div>
_<div class="section">
__<dl id="QandA">
___<dt>HTMLとは何ですか</dt>
___<dd>Hyper Text Markup Languageの略です。ウェブ上で試用されるマークアップ言語のひとつです。</dd>
___<dd>ほかのドキュメントへのハイパーリンクを設定できる(これをハイパーと表現する)。画像・リスト・表などもマークアップできる。</dd>
___<dt>CSSとは?</dt>
___<dd>Cascading Style Sheetsの略</dd>
__</dl>
__<div class="aside"><!-- 本文とは直接関係ないのでasideとしておく -->
___<h3>関連リンク</h3>
___<ul>
____<li><a href="http://www.w3.org/">World Wide Web Consortium (W3C)</a>
_____<p>ウェブの総本山</p>
____</li>
____<li><a href="http://www.w3.org/standards/webdesign/htmlcss">H … & CSS - W3C</a>
_____<p>ウェブページを構築する<abbr title="Hypertext Markup Language>HTML</abbr>と<abbr title="Cascading Style Sheets">CSS</abbr>の資料</p>
____</li>
____<li><a href="http://www.whatwg.org/">WHATWG</a>
_____<p>Apple、Mozilla、Operaによって設立された、HTMLの開発やその関連技術に興味を持つ人々のコミュニティー。</p>
____</li>
___</ul>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2012-08-10</dd>
___<dt id="LAST-MODIFIED">Last Modified</dt>
___<dd>2012-08-10 12:00:00 (JST)</dd>
__</dl>
__<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
No.2
- 回答日時:
とても煩雑になってしまっています。
HTMLがデザインに引っ張れているため複雑になり、それに連れてスタイルシートも大変なことになっています。
HTMLは、文書構造だけ書きます。そのときに文書構造を補完すめためにidやclass名をつけます。この基本を忘れたらダメです。
[HTML
<dl id="QandA">
<dt>HTMLとは何ですか</dt>
<dd>Hyper Text Markup Languageの略です。ウェブ上で試用されるマークアップ言語のひとつです。</dd>
<dd>ほかのドキュメントへのハイパーリンクを設定できる(これをハイパーと表現する)。画像・リスト・表などもマークアップできる。</dd>
<dt>CSSとは?</dt>
<dd>Cascading Style Sheetsの略</dd>
</dl>
だとします。QandAだということは、ここではidで指定しています。<dl>は定義とその説明の一組のグループでリストされますから、わざわざquestiontext_ddのようなclass名をつけなくて良いですね。
後はスタイルシートを書くだけです。十行もあれば十分なはず
ただ、背景画像がどのようなもので、どのようにプレゼンテーションしたいかが見えてこないので、それぞれの画像と完成時のイメージを提示していただく必要があります。
width:592px;
固定はあまり感心しません。現在はスマートホンから幅広のディスプレイまで様々な端末で利用されるので・・
padding: 0px 0px 0px 35px;
このpaddingは何のためですか?境界に張り付いて読みにくくなると思いますが
以下は継承されるプロパティなので直近の親に指定しておけばよいです。
font-size: 15px;
color: #000000;
text-align: left;
font-family: "MS Pゴシック",sans-serif;
すでにbodyで指定されていればわざわざ指定する必要はありません。
display: inline;
float: left;
このふたつは矛盾しています。floatと指定すると他から切り離されてblockになります。
background:url(http://www.ok.com/img/question1.gif);
background-repeat: no-repeat;
簡略化プロパティで
background:url(http://www.ok.com/img/question1.gif) no-repeat;
ただ、デザインによるとdlに指定するほうが楽でしょう。
この回答への補足
お礼入力とダブってしまいますが、補足させて頂きました。
恐縮なのですが、背景画像と背景色を使った完成のイメージ図ですが、別の質問で添付致しました。
http://okwave.jp/qa/q7795472.html
上記のURLにある完成図のようにするには、どのようにHTMLとCSSを記述すれば良いのでしょうか?
お時間がある時にでも、お目を通して頂けたら本当に幸いです。
ありがとうございます。
あと、恐縮なのですが、背景画像と背景色を使った完成のイメージ図ですが、別の質問で添付致しました。
http://okwave.jp/qa/q7795472.html
上記のURLにある完成図のようにするには、どのようにHTMLとCSSを記述すれば良いのでしょうか?
お時間がある時にでも、お目を通して頂けたら本当に幸いです。
No.1
- 回答日時:
display:inlineをdisplay:block(とfloatの組み合わせ。
記述済み)にしてみてください。display: inline-blockでもいいですが旧IEで期待通り表示されないので、
CSSの文法違反になりますが、旧IE対策込みで、たぶん以下でも出来るかもしれません。
display: inline-block;
\display: block;
zoom: 1;
display: inlineは、<span>のデフォルトスタイル(スタイルシートでdisplay:何かを指定しない状態)と同じ表示にするための物です。
inline指定ではwidth、heightが無効になります。
なお、コンディショナルコメントを使えばCSS文法違反を起こさずにIE対策も出来ます。
コンディショナルコメントについては検索してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
横スクロールサイトの中央寄せ
-
CSSで3分割した背景画像を配置...
-
css初心者 フレックスボックス...
-
paddingがきかない。
-
【CSS】ヘッダーの高さが不明の...
-
safariだけ、cssが効きません!
-
CSS、width100%でもできる余白
-
borderをページの下まで伸ばしたい
-
メイン画像とグローバルメニュ...
-
スクロールボックスを中央に配...
-
横のTableタグのヘッダを...
-
divで囲まれたpaddingの指定を...
-
CSSでボックスのheightが0になる
-
form input テキストを上下中央...
-
フッターを固定したい…
-
余分な縦スクロールバーが出て...
-
cssでのdiv要素内div要素の上部...
-
<div>と<div>の間の10px程の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
表示倍率を変えるとレイアウト...
-
CSSがなぜかfont-sizeだけ効か...
-
CSS、width100%でもできる余白
-
W3Cのソースコードの検証サービ...
-
CSS:animation開始位置の設定
-
CSSで指定した背景画像にリンク...
-
余分な縦スクロールバーが出て...
-
<div>と<div>の間の10px程の...
-
【CSS】ヘッダーの高さが不明の...
-
CSSでボックスのheightが0になる
-
スクロールボックスを中央に配...
-
li 黒丸含んで移動する方法
-
border-style:solidで文字がずれる
-
Media Queries 4 で 非推奨とな...
-
【HTML&CSS】フッター下部の余...
-
初心者html・CSS ウィンドウを...
おすすめ情報