![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
お世話になっております。
スマートフォンでdivの横並びをしようとしたのですが、
<html>
<head>
<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">
</head>
<body>
<div style="height:30px;line-height:30px;width:100%;">
<div style="overflow:hidden;float:left;width:50px;">日付</div>
<div style="overflow:hidden;float:left;">本文</div>
</div>
</body>
とした場合、
本文が長いと日付の下に本文が来るようになってしまいます。
本文の末尾が消えてdivが横並びになるようにしたいのですが
良い方法はないでしょうか?
よろしくお願いします。
以上です。
No.2ベストアンサー
- 回答日時:
できるだけDIVは使わない。
使うときも「id属性及び class属性と併用することで、文書に構造を付加するため( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」が原則です。HTML5では、より厳しく「Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable.( http://www.w3.org/TR/html5/grouping-content.html … )訳すと「適切な他の要素がないときの最後の手段としてdiv要素を使用することが強く奨励される。」」例えば、
<body>
<div class="header">
ヘッダ
</div>
<div class="section">
<h2>タイトル</h2>
<dl>
<dt>2013.08.29</dt>
<dd>本文が長いと日付の下に本文が来るようになってしまいます。本文の末尾が消えてdivが横並びになるようにしたいのですが良い方法はないでしょうか?</dd>
<dd>よろしくお願いします。</dd>
<dt>2013.08.30</dt>
<dd>本文が長いと日付の下に本文が来るようになってしまいます。本文の末尾が消えてdivが横並びになるようにしたいのですが良い方法はないでしょうか?</dd>
<dd>よろしくお願いします。</dd>
</dl>
</div>
と率直にHTMLを書いて、日付を左に表示したいとすれば、そのようにスタイルシートを書けばよいだけです。将来気が変わったら他のデザインにすることも容易です。
別にdl(定義リスト)でなくても何でも良いです。
<div class="section">
<h2>見出し</h2>
<h3>2013.10.29</h3>
<p></p>
<h3>2013.10.29</h3>
<p></p>
だろうが・・・・文書構造を示す最適なマークアップにすればよい。スタイルシートを使う目的は「構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」なのですから、好きにデザインできるのですよ。HTMLには構造しか書いてないので作るほうも、スタイルシートでデザインを変えるのも楽ですし・・・
★日付のfloatと本文のmarginを組み合わせてあります。
★ウィンドウ幅には依存しません。スマホ縦でも横でも、幅広のパソコンでも
ウィンドウ幅を変更してみましょう。
★タブは_に置換してあるので戻す。
[HTML4.01strict]汎用(PC/スマホ兼用)
<!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;background-color:gray;}
div.header,div.section,div.footer{
width:80%;min-width:460px;max-width:800px;
margin:0 auto;
padding:5px;
background-color:white;
}
div.section dl dt{
float:left;
}
div.section dl dd:after{
content:"";
display:block;
clear:left;
}
div.section dl dd{
margin-left:6em;
}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>タイトル</h2>
__<dl>
___<dt>2013.08.27</dt>
___<dd>本文が長いと</dd>
___<dt>2013.08.29</dt>
___<dd>本文が長いと日付の下に本文が来るようになってしまいます。本文の末尾が消えてdivが横並びになるようにしたいのですが良い方法はないでしょうか?</dd>
___<dd>よろしくお願いします。</dd>
___<dt>2013.08.30</dt>
___<dd>本文が長いと日付の下に本文が来るようになってしまいます。本文の末尾が消えてdivが横並びになるようにしたいのですが良い方法はないでしょうか?</dd>
___<dd>よろしくお願いします。</dd>
__</dl>
_</div>_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2013-10-30</dd>
__</dl>
__<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
[HTML5]★スマホおよび、IE9以降のモダンブラウザ用
<!doctype html>
<html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="IRUKA">
<style media="screen">
<!--
html,body{margin:0;padding:0;background-color:gray;}
header,section,footer{
width:80%;margin:0 auto;
padding:5px;
background-color:white;
}
section dl dt{
float:left;
}
section dl dd:after{
content:"";
display:block;
clear:left;
}
section dl dd{
margin-left:6em;
}
-->
</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>タイトル</h2>
__<dl>
___<dt>2013.08.27</dt>
___<dd>本文が長いと</dd>
___<dt>2013.08.29</dt>
___<dd>本文が長いと日付の下に本文が来るようになってしまいます。本文の末尾が消えてdivが横並びになるようにしたいのですが良い方法はないでしょうか?</dd>
___<dd>よろしくお願いします。</dd>
___<dt>2013.08.30</dt>
___<dd>本文が長いと日付の下に本文が来るようになってしまいます。本文の末尾が消えてdivが横並びになるようにしたいのですが良い方法はないでしょうか?</dd>
___<dd>よろしくお願いします。</dd>
__</dl>
_</section>
_<footer>
__<h3>A nice footer</h3>
_</footer>
</body>
</html>
大変詳しく書いてくださりありがとうございます。
このサンプルでは想定したようにできなかったのですが、
下記のようにしたら出来ました。
ORUKA1951様のサンプルをいじっていたら想定したようになりました。
ありがとうございます。
#section dl{
height:15px;
display: -webkit-box; /* Safari,Google Chrome用 */
display: -moz-box; /* Firefox用 */
}
#section dl dt{
width:90px;
}
#section dl dt,dl dd{
height:15px;
overflow:hidden;
margin:0;
}
<div id="section">
<dl>
<dt> 00:00:00</dt>
<dd>本文本文本文本文本文本文本文本文</dd>
</dl>
</div>
No.1
- 回答日時:
こんな感じでいかがでしょうか?
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">
<style>
#information{ width:100%; }
#information div{ height:30px; line-height:30px; overflow:hidden; float:left; }
.clear { height:0; font-size:1px; line-height:0px; clear:both; }
</style>
</head>
<body>
<div id="information">
<div style="width:15%;">日付</div>
<div style="width:85%;">本文が入ります。本文が入ります。本文が入ります。本文が入ります。</div>
<div class="clear"></div>
</div>
</body>
この回答への補足
日付、本文のdivに%で幅指定すると表示されました。
スマホの端末ごとで幅が違うので
出来れば日付のdiv幅は固定、
本文のdiv幅は可変で横幅が広がった分だけ
本文のdivが広がってほしいと考えております。
わざわざ答えていただいたのに言葉足らずで
大変申し訳ございません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<div id="container">の使いか...
-
htmlのolやulなどlistにtitleや...
-
ブラウザの表示幅で100%指定が...
-
<div>で改行させない方法
-
html5でheaderの中にnav
-
HTML属性での「""」 「''」違い
-
HTMLに同じコードを一括挿入
-
html の divとtable の役割
-
携帯サイト、ナノでのタグ編集...
-
CSS でテキストの点滅をするに...
-
複数のボタンを等間隔に、かつ...
-
スマホで横並びdiv
-
デザインについて
-
html5にて水平線の引き方は?
-
hタグの右横に画像を表示
-
セレクタの適用箇所を探す
-
HTML5での段組
-
HTML5の終端タグ「 />」について
-
html5 と xhtml はどちらがいい?
-
ホームページ製作中ですが3カラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTML属性での「""」 「''」違い
-
htmlのolやulなどlistにtitleや...
-
div要素が重なってします
-
複数のボタンを等間隔に、かつ...
-
html の divとtable の役割
-
<div id="container">の使いか...
-
min-heightとheightの違いについて
-
ヘッダーとフッターだけ背景を...
-
1時間30分を簡単に表したいで...
-
要素間、要素内に隙間が空く
-
画面を縮小するとカラムが落ち...
-
h1のテキストサイズよりh2の方...
-
スペースを使わず文字位置を揃...
-
divの中に外部のHTMLを埋め込む
-
<!-- #BeginLibraryItemとは
-
グリッドレイアウトで"auto-fit...
-
セクションをdivで囲むと見出し...
-
hタグの右横に画像を表示
-
開閉式の隠し要素が一瞬表示さ...
-
html5でheaderの中にnav
おすすめ情報