
<body>
<section id="s1"></section>
<section id="s2"></section>
<section id="s3"></section>
<section id="s4"></section>
</body>
#s1{width:200px;height:400px}
#s2{width:200px;height:600px}
#s3{width:800px;height:800px}
#s4{width:800px;height:200px}
以上のセクションを1つ目と2つ目を左に、3つ目と4つ目を右に並べてbodyの幅・高さともに1000pxにおさめる方法はありますか?
ただし各セクションを<div>で囲むことはできません
ご回答よろしくおねがいします
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.1です。
スタイルシート(absoluteなど)を使用して強制的に配置させることは出来ますが、そのまえにHTML自体を根本から見直しましょう。
そのように表示したいと言うことは、必ず文書の構造に根付いているのです。
<header>
・・・この部分は内容が変わらない固定されたもの
</header>
<nav>
ナビゲーション
</nav>
<section>
本文
</section>
<footer>
</footer>
あるいは、
</header>
<section>
本文
<nav>
ナビゲーション
</nav>
</section>
<footer>
</footer>
No.1で示したように縦サイズは指定していません。なぜなら、データ量は変化しますし、視覚弱者のユーザーは文字サイズを拡大してご覧になるかもしれない。それどころか、スタイルシート自体使わないか、自身のスタイルシートを使用されるかもしれない。もちろん印刷には使えないだろう。携帯電話やスマホじゃサイズが固定されると利用しずらい・・
★HTMLは、様々な利用環境で利用できるからこそHTMLなのです。カタログを作るような用途でしたら、HTMLじゃなく、PDFなどを利用すべきです。
一度、HTMLを見直してください。
No.2
- 回答日時:
囲めないならfloatでs1とs2はleft、s3とs4はrightにするしかないかと。
ちなみに、たぶん分かってると思いますが、サイズが計1000ぴったりなので、上記の方法だとブラウザごとのボックス解釈の差異で酷いことになる危険性はあります。でも外側にdiv書けないんじゃしょうがない。
No.1
- 回答日時:
section要素を使われていると言う事は、HTML5を想定されているのだと思いますが、HTML5ではそのような構造はありえません。
sectionは文書のアウトラインを構成する用途に使うのです。サイズから判断すると
<body>
<header>
<nav>
</nav>
</header>
<section>
</section>
<footer></footer>
</body>
ではないかと思われます。
また、HTML5は、それ以前のHTML以上に様々なユーザーエージェントを想定していますから、1000pxで固定するのはまずいです。
その上で、上記HTMLをプレゼンテーションを指定すると
body{width:100%;max-width:1000px;min-width:640px;}
header{position:absolute;left:0;top:0;width:20%;}
section,footer{margin-left:21%;}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
CSSの角丸での質問です。 今、C...
-
widthやheightの数値に単位(px...
-
Firefoxで表示できるgifファイ...
-
<div>と<div>の間の10px程の...
-
CSSでの段組で、下辺を揃える方法
-
指定したborderの一部が表示さ...
-
マージンの基点について
-
div要素の左寄せ、中央寄せ、右...
-
CSSがなぜかfont-sizeだけ効か...
-
FireFoxでToolti...
-
table周辺の隙間をなくしたい。
-
CSSでの文字位置の上下センタリ...
-
liタグの中に<p>タグやら<dl>を...
-
箇条書きがずれて表示されてし...
-
ワードにコピペ、画像が表示さ...
-
HP 画像の一部にリンクでその...
-
inline-blockをネストすると表...
-
3カラムレイアウトで「常に残り...
-
【ヒトの神秘】美男美女から何...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
【CSS】ヘッダーの高さが不明の...
-
widthやheightの数値に単位(px...
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
画像イメージの上下左右、欲し...
-
余分な縦スクロールバーが出て...
-
ページを拡大縮小でborderが消...
-
CSSがなぜかfont-sizeだけ効か...
-
表示倍率を変えるとレイアウト...
-
スクロールボックスを中央に配...
-
cssで文字サイズ指定、ptでもpx...
-
投稿フォームの整列
-
入力フォームとセレクトボック...
-
<div>と<div>の間の10px程の...
-
W3Cのソースコードの検証サービ...
-
CSSで「overflow:scroll」をしてい
-
ネガティブマージン
-
divで囲まれたpaddingの指定を...
-
FC2ショッピングカート 写真の...
おすすめ情報