CSSのfloatとdivについて質問です。
下記のようにmainの中にlocal-navigationを配置したいのですがやり方が分からないのでご教授お願いします。
現在はlocal-navigationがfooterの上に表示されて自分の意図することが出来ていません。
sidebar-leftとsideba-rightはfooter部分まで伸びていて欲しいのです。
やりたいこと:
____________________________
|header-menu |
|___________________________|
|sidebar-left| main |sidebar-right |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| |____________| |
| |local-navigation | |
|______|____________|_______|
|footer |
|___________________________|
現在の状況:
____________________________
|header-menu |
|___________________________|
|sidebar-left| main |sidebar-right |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
|______|____________|_______|
|local-navigation |
|___________________________|
|footer |
|___________________________|
過去の質問:
「CSSでメイン部分が80%ぐらいに表示するには? http://oshiete.goo.ne.jp/qa/7728293.html 」
「CSSのbackground-imageについて http://oshiete.goo.ne.jp/qa/7728304.html 」
No.2ベストアンサー
- 回答日時:
他の質問と合わせて、ごく簡単な例を挙げておきます。
HTML5でもっとも大事なことは、文書の構造化です。デザインのためのHTMLは記述しない・・これがHTMLを学ぶ上でもっとも大事なことです。下記に極めて標準的なHTMの雛形を作成します。HTML5で作成しておきます。実際は実用的なHTML4.01strictで作成してください。他のDTDは使わない!!
このHTMLに対して、次の4つのデザインをスタイルシート【CSS2.1の範囲内】で設定してください。
(注意)HTMLには一切手を加えないこと。
[CSS1]永続的スタイルシート
使用するフォント、日本語向けにpやhについては縦方向マージン0、line-height:1.6emを指定
わかりやすいように、それぞれに背景色を指定しておく
body:gray,header:yellow,section,white,section>section:silver,
aside:aqua,aside:first-child:lime,footer:fuchsia,nav:teal
とする。
[CSS2]スクリーン用標準スタイルシート
・ウィンドウ幅の90%でかつ、最小640px~最大900pxでウィンドウ中央に表示、ウィンドウが900pxを超える場合は900px
・header幅いっぱい
・section内の最初のaside(本文と直接関係ない記事)はsection内の右側
・section内の二つ目のasideはsection内の左側
・section内のnavはsection最下段
・footerは全幅
[CSS3]スクリーン用代替スタイルシート/視覚弱者向け
・ウィンドウ幅の100%でかつ、最小640px~最大1000pxでウィンドウ中央に表示、ウィンドウが1000pxを超える場合は1000px
・header幅いっぱい
・section内の最初のaside(本文と直接関係ない記事)は表示しない
・section内の二つ目のasideはsection内の下側に枠つきで表示
・section内のnavはsection最下段
・footerは全幅
[CSS4]印刷用スタイルシート
・navは印刷しない
・section内の最初のaside(本文と直接関係ない記事)は印刷しない
・section内の二つ目のasideはsection内の下側に枠つきで印刷
<!doctype html>
<html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="ORUKA1951">
<!--[if IE]>
_<script src="http://html5shiv.googlecode.com/svn/trunk/html5. …
_<script src="http://css3-mediaqueries-js.googlecode.com/svn/t …
<![endif]-->
<style media="screen">
<!--
-->
</style>
</head>
<body>
_<header>
__<h1 id="title">Your title</h1>
__<nav>
___<ul>
____<li><a href="#">Some</a></li>
____<li><a href="#">navigation</a></li>
____<li><a href="#">links</a></li>
___</ul>
__</nav>
_</header>
_<section>
__<h2>A smaller heading</h2>
__<p>
___CSSのfloatとdivについて質問です。
__</p>
__<p>
___下記のようにmainの中にlocal-navigationを配置したいのですがやり方が分からないのでご教授お願いします。
__</p>
__<p>
___現在はlocal-navigationがfooterの上に表示されて自分の意図することが出来ていません。
__</p>
__<figure class="main">
___<pre>┌──────────────┐
│header │
│ ←------ nav -----→ |
├───┬──────┬───┤
|aside │main │aside │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ ├──────│ │
│ │←- nav --→│ │
├───┴──────┴───┤
│footer │
└──────────────┘</pre>
__</figure>
__<p>
___sidebar-leftとsideba-rightはfooter部分まで伸びていて欲しいのです。
__</p>
__<section>
___<h3>A smaller heading</h3>
___<p>
___</p>
__</section>
__<nav>
___<p>前のページへ | ページトップ | 次のページ</p>
__</nav>
__<aside>
___<h3>Something aside</h3>
___<p>
____新着情報とか
___</p>
__</aside>
__<aside>
___<h3>Something aside</h3>
___<p>
____補足記事など
___</p>
__</aside>
_</section>
_<footer>
__<h3>A nice footer</h3>
_</footer>
</body>
</html>
回答ありがとうございます。
自分が目指すところはレスポンシブWebのサイトなので、
考えた結果、
基本はfloatで構成して左上と左下を基準にしたズレにくいブロックだけをposition:absolute;で実現することにしました。
No.1
- 回答日時:
clearfixの記述の仕方 - ホームページ作成ソフト - 教えて!goo (
http://oshiete.goo.ne.jp/qa/7726726.html )をご覧ください。
ブロックを配置するためにfloatを使わなければ良いです。それが一番楽です。ナビゲーションをstatic以外の直近の親コンテナブロックの対して絶対配置し、他の兄弟だけはその分マージンをとっておけば良いです。右にしようが、左にしようが自由に出来ます。
floatは記事中の挿絵の周りに本文を回り込ませるために、取っておきましょう。
回答ありがとうございます。
絶対配置とはposition:absoluteを使えということでしょうか?
header, sidebar-left, main, sidebar-right, local-navigation, footerの6つの領域を左上を基準にして配置していこうと思います。
floatをposition: absolute; top:--px; left: --px;に全て切り替えますがこれについて何か問題があるかご教授ください。
参考:
div.section div.aside{
_position:absolute;top:10px;right:5px;
_width:34%;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- その他(IT・Webサービス) html cssについて 3 2023/05/13 12:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
複数のボタンを等間隔に、かつ...
-
iframeを使わずに上下50%ずつに...
-
ヘッダーとフッターだけ背景を...
-
div要素が重なってします
-
html の divとtable の役割
-
min-heightとheightの違いについて
-
h1に自分自身へのリンクを張...
-
標題<h1>に、網掛けはできますか?
-
cssのdivについて
-
特定範囲内のCSSの継承を断ち切...
-
ブラウザの表示幅で100%指定が...
-
3カラムレイアウトで「常に残り...
-
DD,DT,DDを横並び。paddingとma...
-
可変長要素を中は左寄せのまま...
-
XHTMLでループ処理のやり方
-
クリアフィックス(<class="cl">)
-
グリッドレイアウトで"auto-fit...
-
CSSで、contentsがfooterに重な...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
div要素が重なってします
-
<div id="container">の使いか...
-
複数のボタンを等間隔に、かつ...
-
html の divとtable の役割
-
divとpの使いわけ
-
ヘッダーとフッターだけ背景を...
-
min-heightとheightの違いについて
-
セクションをdivで囲むと見出し...
-
画面を縮小するとカラムが落ち...
-
ヘッダーを左右に二分割する方...
-
スペースを使わず文字位置を揃...
-
1時間30分を簡単に表したいで...
-
CSSで、contentsがfooterに重な...
-
h1に自分自身へのリンクを張...
-
divの中に外部のHTMLを埋め込む
-
hタグの右横に画像を表示
-
divを横に並べる方法
-
インラインフレームのページ内...
おすすめ情報