
以下のhtmlで、内容に合わせてブロックの大きさが変わる状態での 上下の中央揃えができず悩んでいます。
html
------------------------------------------------------------------------------------------
<div id="box1">
<div id="box2">
<div id="box3">
<div>あああああああああああああああああああああああ</div>
<div>いいいいいいいいいいいいいいいいいいいいいいい</div>
<div>ううううううううううううううううううううううう</div>
<div>えええええええええええええええええええええええ</div>
<div>おおおおおおおおおおおおおおおおおおおおおおお</div>
</div>
</div>
</div>
------------------------------------------------------------------------------------------
css
------------------------------------------------------------------------------------------
body {
text-align:center;
}
#box1 {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width:700px;
height:400px;
background:#666666;
}
#box2 {
position: absolute;
left: 0;
right: 0;
margin: auto;
width:500px;
height: 300px;
background:#FFF;
}
#box3 {
display: inline-block;
text-align: left;
vertical-align: middle;
background:#CCCCCC;
}
------------------------------------------------------------------------------------------
#box2に対して#box3の内容が、縦に伸びても短くなっても常に上下が中央に配置されるようにしたいのですが、どうにもうまくいきません。
ブロック内のテキスト自体は左揃えで、ブロックそのものが中央です。
どなたか、ご教授お願い致します。
inline-blockを上下中央揃えにする方法

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
サンプルなのでそうなのでしょうが、そんなHTML書いたら後々メンテナンスで泣くことになる。
HTML5では、安易にDIVは使えない。・DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加する
HTML4.01 http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 …
・Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable.
(著者は他に適切な要素ない時の最後の手段としてdiv要素を使用するよう奨励される。)
HTML5 http://www.w3.org/TR/html5/grouping-content.html …
たとえば、ある新着情報(ニュース)の一覧が、ブロック(section)としてマークアップされているとします。
<section>
<h3>新着情報</h3>
<p>大阪都構想、5月17日住民投票へ 府と市の法定協賛成(17:08)</p>
<p>建築廃材104トンを不法投棄、容疑者を逮捕 鹿児島(19:02)</p>
<p>JR阪和線、天王寺駅―鳳駅で運転見合わせ 列車不具合(18:53)</p>
<p>誕生パーティーだった…ベトナム人被告、ヤギ窃盗認める(17:08)</p>
<p>ASKA氏知人の栩内被告に有罪判決 覚醒剤事件で地裁(16:34)</p>
<p>お茶1杯「96万円」 上海で日本人ぼったくり被害急増</p>
</section>
先刻の朝日新聞社のニュースサイト( http://www.asahi.com/ )より拝借・・
HTML4.01でしたら、
<div class="section" id="news">
<h3>新着情報</h3>
<p>大阪都構想、5月17日住民投票へ 府と市の法定協賛成(17:08)</p>
<p>建築廃材104トンを不法投棄、容疑者を逮捕 鹿児島(19:02)</p>
<p>JR阪和線、天王寺駅―鳳駅で運転見合わせ 列車不具合(18:53)</p>
<p>誕生パーティーだった…ベトナム人被告、ヤギ窃盗認める(17:08)</p>
<p>ASKA氏知人の栩内被告に有罪判決 覚醒剤事件で地裁(16:34)</p>
<p>お茶1杯「96万円」 上海で日本人ぼったくり被害急増</p>
</div>
それに対してスタイルシート書きます。それだけで良い。HTML分かりやすいでしょ。
サンプル
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
でチェック済みHTML4.01strict + CSS2.1
★タブは_に置換してあるので戻す。
<!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,p{margin:0;line-height:1.6em;}
p{text-indent:1em;}
div.header,div.section,div.footer{width:90%;min-width:630px;max-width:900px;margin:0 auto;padding:5px;}
div.section{
_width:700px;
_height:400px;
_background:gray;
_display:table-cell;
_vertical-align:middle;
_position:relative;
}
div.section div#news{
_display:block;
_width:500px;
_height:auto;
_min-height: 100px;
_margin-right:auto;
_margin-left:auto;
_background:silver;
}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<div class="section" id="news">
___<h2>新着情報</h2>
___<p>大阪都構想、5月17日住民投票へ_府と市の法定協賛成(17:08)</p>
___<p>建築廃材104トンを不法投棄、容疑者を逮捕_鹿児島(19:02)</p>
___<p>JR阪和線、天王寺駅―鳳駅で運転見合わせ_列車不具合(18:53)</p>
___<p>誕生パーティーだった…ベトナム人被告、ヤギ窃盗認める(17:08)</p>
___<p>段落を増減してみよう・・</p>
___<p>ASKA氏知人の栩内被告に有罪判決_覚醒剤事件で地裁(16:34)</p>
___<p>お茶1杯「96万円」_上海で日本人ぼったくり被害急増</p>
__</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>
具体例まである丁寧なご回答、ありがとうございます。
自分がいかに無知で良くない書き方をしていたのかがよくわかりました。
ご回答頂いたサンプルの場合、div.section div#newsの部分の横幅は固定ですが、
こちらも縦幅と同様内容の大きさに合わせて横幅が変わり、中央揃えにするにはどのように記述すれば良いのでしょうか。
よろしければ、ご教授お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<div id="container">の使いか...
-
htmlのolやulなどlistにtitleや...
-
CSSを使って定型文を挿入できま...
-
要素間、要素内に隙間が空く
-
3カラムのサイドバーの右側が表...
-
ブートストラップを使ったサイ...
-
HTMLのJIS規格について
-
インラインフレームのページ内...
-
HTMLに同じコードを一括挿入
-
グラフィックス
-
【html】iframeを使用したmp4の...
-
検索結果の箇所にaltタグの内容...
-
hタグを使わずに小見出し
-
htmlのブラウザごとの表示について
-
<DIV> と </DIV> の間が空です。
-
ローカルとWeb上で見え方が違う...
-
コピーライト下・フッター一番...
-
2段組レイアウト時に意図しな...
-
floatを使った時のブラウザでの...
-
改行がしたいのですが、うまく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
html の divとtable の役割
-
<div id="container">の使いか...
-
ヘッダーとフッターだけ背景を...
-
1時間30分を簡単に表したいで...
-
スペースを使わず文字位置を揃...
-
div要素が重なってします
-
divの中に外部のHTMLを埋め込む
-
複数のボタンを等間隔に、かつ...
-
min-heightとheightの違いについて
-
セクションをdivで囲むと見出し...
-
htmlでdivをなるべく使わないで
-
要素間、要素内に隙間が空く
-
ブログのサイドバーが下にくる
-
body>div{}の意味を知りたい
-
スライド部分のリンクが貼れな...
-
画面を縮小するとカラムが落ち...
-
htmlの見出しタグ(<h1>)の次...
-
インラインフレームのページ内...
おすすめ情報