サイトを作成してるのですが透明divの下に長い余白ができてしまう【HTML・CSS】
opacityを使って背景色を透過、文字は透過しないで
コンテンツを配置する方法
(http://detail.chiebukuro.yahoo.co.jp/qa/question …)を
参照して組んだのですがこの透明divを閉じた後、長い空白(余白?)が
出来てしまいます。contents_area2のdivが閉じたすぐ下に
ナビゲーションメニューを入れたいのですが
どうすればいいのでしょうか?
見にくいですが一番下の深緑がナビゲーションメニューです
【HTML】
<!--透明ボックス-->
<div id="contents"></div>
<!--コンテンツ-->
<div id="contents_area2">
コンテンツ~~~(フロート使ってます)
<!--フロート解除-->
<div id="clear"></div>
</div>
<!--メニュー-->
<div class="nav">
<ul>
<li>###</li>
<li>###</li>
<li>###</li>
</ul>
</div>
【CSS】
/* --- 透明ボックス --- */
#contents{
width: 870px;
min-height:550px;
margin: 5px auto 0;
background-color:#FFF;
opacity: 0.4;
filter: alpha(opacity=40); /* IE6、IE7対応 */
-moz-opacity: 0.4; /* Firefox1.5以前対応 */
}
/* --- コンテンツ --- */
#contents_area2{
position:relative;
top:-550px; /*550pxできっちり合うはずなのですが5pxほどずれます */
width: 870px;
min-height:550px;
margin: 5px auto 0;
}
/* --- フロート解除 --- */
#clear {
clear: both;
}
/* --- ナビ(メニュー) --- */
.nav{
width: 100%;
background-color: #093;
height: 60px;
}
.nav ul{
list-style:none;
}
.nav li{
display:inline;
width:100px;
font-size: 14px;
font-weight: bold;
color: #FFF;
}
DreamWeaverCS3
Windows7
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
それでも・・・何をされたいかがさっぱり不明。
透明なブロックと言うのが、そもそもわかりません。
例えば、次のように説明していただくとわかります。
・本文内のナビゲーションを本文の開始位置と同じ高さからはじまるようにしたい。
・ナビゲーションは半透明の白の背景にしたい。
というのでしたら、スタイルシートは
div.section{position:relative;}
div.section div.nav{position:absolute;tio:0;background-color:rgba(255,255,255,0.4);}
と、そのままスタイルシートを書けば良いです。
セレクタ間の [半角スペース]は子孫セレクタです。後方互換を考えないなら子供セレクタを使います。
後方互換でしたら、半透明GIF画像を使用するほうが無難です。opacityでも出来ます。
[サンプル]
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
のDATAでチェック済みのHTML4.01strict
★タブは_に置換してあるので戻す。
★http:はhttp:と全角に置換してあるので戻す。
★リキッドですからスマホでも幅広ディスプレイでも利用可能
★印刷にはこのままは適用されない。(印刷プレビューで確認)
☆HTMLには文書構造しか書いてないので、デザインは自由に変更できる。
また、本文見なくてもスタイルシートは書ける。
<!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;}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.6em;}
p{text-indent:1em;}
-->
_</style>
_<style type="text/css" media="screen">
div.header,div.section,div.footer{width:90%;min-width:630px;max-width:900px;margin:0 auto;padding:5px;}
/* ここから */
div.section{position:relative;
min-height:300px;/*ナビゲーションに最低限必要な高さはここで */}
div.section div.nav{
position:absolute;
top:0;right:0;/* borderの内側0 paddingを含まない */
/*paddingの内側にするときは・・ */
/* top:5px; right:5px; */
width:160px;background-color:rgba(255,255,255,0.4);
}
/* ナビゲーションのための余白 */
div.section div.section{min-width:0;width:auto;margin:0 170px 0 0;}
div.section h2,
div.section p{margin:0 170px 0 0;}
div.section div.section p{margin-right:0;}
div.section div.nav h3{margin:0;line-height:2em;}
/*ページの背景 */
body{background:url(http://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Mt_fuji%28R469_Yuno%29.jpg/1280px-Mt_fuji%28R469_Yuno%29.jpg) 50% 50%;}
/* 位置の目安 */
div.section{border:solid 1px red;}
div.section div.section{border-color:green;}
div.section div.section{border:blue solid 1px;}
div.section h2,
div.section p{border:lime solid 1px;}
div.section div.nav h3{background-color:lime;}
-->
_</style>
_<style type="text/css" media="print">
<!--
div.section div.nav a{color:black;text-decoration:none;}
div.section div.nav a:after{content:" URL( http://hoge.com"attr(href)" )\A\A";white-space:pre;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>本文はsection</p>
__<div class="section">
___<h3>項見出し</h3>
___<p>本文項記事</p>
___<p>sectionの階層でレベルが判断される</p>
__</div>
__<div class="nav">
___<h3>ナビゲーション</h3>
___<ul>
____<li><a href="/">Top</a></li>
____<li><a href="/books">Books</a></li>
____<li><a href="/contactUs">ContactUs</a></li>
___</ul>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2013-03-03</dd>
__</dl>
_</div>
</body>
</html>
No.1
- 回答日時:
>top:-550px; /*550pxできっちり合うはずなのですが5pxほどずれます */
ずれません。きちんと-550px移動してます。
8.1 ボックスの寸法( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
relativeでなくabsoluteのほうが確実です。relativeだと、その要素が本来あった位置--スペースが残るため、後続の要素はそれが移動していないとして配置されます。
9.3.1 位置決め方式の選択: 'position'プロパティ( http://momdo.s35.xrea.com/web-html-test/spec/CSS … )
HTMLがデザイン目的で書かれている部分があるらしいのですが、具体的な文書構造が分からないのでこれ以上は無理です。
<!--透明ボックス-->
<div id="contents"></div>
<!--コンテンツ-->
<div id="contents_area2">
コンテンツ~~~(フロート使ってます)
<!--フロート解除-->
<div id="clear"></div>こんな物要らない!!
</div>
<!--メニュー-->
<div class="nav">
<ul>
<li>###</li>
<li>###</li>
<li>###</li>
</ul>
</div>
じゃなくて
<div class="header">
コンテンツ~~~(フロート使ってます)
<div class="nav">
<ul>
<li>###</li>
<li>###</li>
<li>###</li>
</ul>
</div>
だけですむはずです。
この回答への補足
回答ありがとうございます
HTMLがデザイン…画像を絶対位置で
おいてる部分があるんですが
そのことでしょうか…
レイアウトが全面背景でその真ん中にコンテンツ、
ナビはその下にwidth100%で横幅を決めないように
したいのでheaderの中に全部入れるとできないような
気がします…
普段DTPでWebは殆どしたことがなかったので
拙い説明ですみません
現在ポジションを変更して
#contents_area2{
position:absolute;
top:250px;
width: 870px;
min-height:550px;
margin: 0 auto;
}
にしたんですがこのdivが真ん中に
来てくれません…
どうすれば良いのでしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
CSS3で角丸写真にシャドーを付...
-
CSSがなぜかfont-sizeだけ効か...
-
css初心者 フレックスボックス...
-
画像イメージの上下左右、欲し...
-
ウェブページの上下に暗幕を表...
-
widthやheightの数値に単位(px...
-
div入れ子、親でmarginを設定す...
-
CSSで背景画像を一番下にもって...
-
スマホ画面で長い文章が、左端...
-
css&html テキストの前に三角...
-
ネガティブマージン
-
CSS/HTML で画像 2枚重ねた上に...
-
MACのスタイルシート対応
-
width:100%ではみ出す
-
CSSで指定した背景画像にリンク...
-
cssを使用し文字の均等割付(指...
-
checkboxの大きさは変えられま...
-
左右の高さを揃えたいんですが
-
CSSでボックスの位置をずらすCS...
マンスリーランキングこのカテゴリの人気マンスリー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 ウィンドウを...
おすすめ情報