• 締切済み

ウィンドウサイズを無視して、DIV要素を横一列に並べたい

ウィンドウサイズを無視して、DIV要素を横に並べていきたいと考えています。 divごとにfloat:left;で一列に並んでくれますが、ウィンドウの端まで行くと改行されてしまします。 これを改行されずに横スクロールバーが付いて横に並べていきたいと考えています。 並べていきたいdivの大枠のdivにすべてに収まる横幅を与えれば表示されるのですが、今MTを使用して、更新するごとにdivが増えていくようになっていて、大枠のdivのサイズを固定にすることができなくて(javascriptとかで大枠のサイズを動的に与えることとができればいいのですが)。 そこで今つまずいてしまっていて。。 大枠をtableで、ならば可能だと思うのですが、 できる限りdivだけでやりたいと思っていて。。 どなたかご教授いただけますでしょうか。 よろしくお願いいたします。

みんなの回答

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは MTが何かは知らないのですが・・・こういうことですか? <script type="text/javascript"><!-- window.onload = function() { h = document.getElementById("test").getElementsByTagName("div"); divwidth = 302 * h.length; document.getElementById("test").style.width= divwidth + "px"; } //--></script> <style type="text/css"><!-- .left { width:300px; float:left; background-color:aqua; border:1px solid; } --></style> <div id="test"> <div class="left">&nbsp;</div><div class="left">&nbsp;</div><div class="left">&nbsp;</div> <div class="left">&nbsp;</div><div class="left">&nbsp;</div><div class="left">&nbsp;</div> <div style="clear:both;"></div> </div> ※border分があるので302px になってます

biff
質問者

お礼

leap_dayさん ご教授ありがとうございます。 MTはブログソフトです。ブログの記事を横に横に、と考えていて。 javascriptで、幅を取得できるんですね。 この方法であれば何かとか行けそうです! ちょっと考えてみます。 ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

余り美しくないけれど <div style="width:60000%"> とかするしか・・・・

biff
質問者

補足

SAYKAさん ご教授ありがとうございます。 確かに膨大な横幅を最初から指定しておくってのもあるんですが、そうするとボリュームが少ないときでもスクロールバーが付いてしまうので。。。 うううん。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • div領域をウインドウサイズに合わせる

    divタグで生成された3つの領域を横に並べたいのですが、 左2つは幅をピクセル指定で固定し、3つめをウインドウサイズに合わせて残りの幅全てを使う、という指定はどうすればいいでしょうか? 高さもやはりウインドウサイズにあわせるようにしたいです。 また、左2つの領域は固定したまま、3つめの領域のみスクロールができるようしたいです。 現在下記で試していますが、うまくいきません。 お分かりになる方、知恵をお貸しくださいo(_ _*o) 【HTML側】 <div id="left">1</div> <div id="center">2</div> <div id="right">3</div> 【CSS側】 html,body{   height:100%;   width:100%;       } div#left{   width:150px;   height:100%;   float:left; } div#center{   width:160px;   height:100%;   float:left; } div#right{   width:100%;   height:100%;   float:left; }

    • ベストアンサー
    • HTML
  • div要素を綺麗に並べたいのですが困っています。

    CSSのレイアウトで困っています。 現在ショッピングサイトを作っているのですがCSSの表示で困っています。 item_boxというdiv要素の中に更にitem_aというdivタグで包んだ商品写真とテキストのBOXをfloatで左に回りこみ させ横3列に並べています。 1段目だけなら表示に問題ないのですが2段目以降になると1段目の商品BOXの高さによっては横一列に綺麗に並びません。 何か良い解決策は無いでしょうか? item_aにheightを指定すればいいのですが文字数によってはテキストが切れたり、または下に空洞が空きすぎたりするのでheight指定は避けたいです。

    • 締切済み
    • CSS
  • div要素を綺麗に並べたいのですが困っています。

    CSSのレイアウトで困っています。 現在ショッピングサイトを作っているのですがCSSの表示で困っています。 item_boxというdiv要素の中に更にitem_aというdivタグで包んだ商品写真とテキストのBOXをfloatで左に回りこみ させ横3列に並べています。 1段目だけなら表示に問題ないのですが2段目以降になると1段目の商品BOXの高さによっては横一列に綺麗に並びません。 何か良い解決策は無いでしょうか? item_aにheightを指定すればいいのですが文字数によってはテキストが切れたり、または下に空洞が空きすぎたりするのでheight指定は避けたいです。

    • 締切済み
    • CSS
  • Flashの横サイズ

    Flashの横サイズ Flash8使っています。 横幅1000pxのFlashを作成しました。 横幅が1000pxなのでウインドウのサイズが1000px以上の場合は問題ないのですが・・・ ウインドウの横幅が狭まると横スクロールバーが出現します。 それは当然のことなのですが、常にフラッシュの中心をウインドウの中心に固定するにはどうしたらいいでしょうか? つまり常にセンタリングしたいのです。 普通に作ると横スクロールバーが出現したら、ホームページの表示部分が右から切れていく感じになります。 例えばウインドウのサイズが1000pxあったとしても、ウインドウの右下の隅をドラッグで横幅を縮めていくと徐々に横スクロールバーが表示されて、ホームページは右の端から徐々に見えなくなっていきます。 そのような形ではなく、常にホームページのセンターがウインドウのセンターに合った状態 つまり、徐々に見えなくなっていく領域がホームページの右端ではなく、左右平等に徐々に見えなくなっていく状態を作りたいのです。 そうするにはどのようにコーディングもしくはフラッシュ側で何か仕込まないといけないでしょうか? ちょっと分かりにくい質問ですが、分かった方はアドバイス頂けましたら幸いです。 どうぞよろしくお願いします。

  • IEだとdivが横に並びません

    CSSでレイアウトをしているのですが、横にふたつdivを並べたいのに、右側のdivが下にまわってしまいます。 http://oshiete1.goo.ne.jp/qa3576983.html こちらでIEでは左の余白が倍になってしまうと知り、display:inlineを指定しましたが、解決しません。 何が原因でしょうか。 HTML: <div id="main"> <div id="mainl"> </div> <div id="mainr"> </div> </div> CSS: #main { width: 900px; } #mainl { float: left; height: 317px; width: 324px; display: inline; padding-top: 26px; padding-right: 16px; padding-bottom: 0px; padding-left: 40px; } #mainr { float: right; height: 317px; width: 480px; padding-top: 26px; padding-right: 40px; }

    • 締切済み
    • CSS
  • どうしてもボタンが横一列に並ばないのです (/_;

    WordPress日本語版3.01利用中です。 現在テーマをカスタマイズ中ですが、ソーシャルブックマークをsingle.phpに追加したところ、3つあるボタンのうち、2つは横に並ぶのに3つ目のボタンがどうしても改行された状態で表示されてしまいます。 原因は何が考えられるでしょうか。週末つかって頑張ったのですが、どうしても解決にいたりません。ノイローゼになりそう (/_;) single.phpのボタン表示を記述している部分です。 <div class="social"> <div class="tweet_button"> <a href="http://twitter.com/share" class="twitter-share-button" data-text="<?php the_title(); ?>" data-url="<?php the_permalink() ?>" data-count="horizontal" data-via="自分のID">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div> <div class="hatebu_button"> <a href="http://b.hatena.ne.jp/entry/<?php the_permalink() ?>" class="hatena-bookmark-button" data-hatena-bookmark-title="<?php the_title(); ?>" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script></div> <div class="facebook"> <fb:like href="<?php the_permalink() ?>" layout="button_count" show_faces="false"></fb:like></div> </div> ※facebookはiflameのパターンも試しました。上記はAppID取得による短縮コードで表示じたいに問題はありません。 CSSは、 /* Begin Social Media */ div.post .social { margin-top: 2px; } div.post .social .tweet_button { float: left; display: inline; width: 100px; } div.post .social .hatebu { display: inline; } div.post .social .facebook { display: inline; } div.postcontent { clear: both; } /* End Social Media */ です。いったいどこの何が問題で3つのボタンが横一列にならないのでしょうか??? 皆さん教えて下さい。さんざん時間も頭もつかったけれど、解決できないでおります。 Twitter はてブ ←は、横に並ぶ facebook ←が、こんなふうに改行されてしまう。 Twitter はてブ facebook と並べたいのです・・・・・。宜しくお願いします!

  • floatさせたdivタグを折り返させたくない

    Javascriptで開いた子ウィンドウ内のページについて レイアウトで困っております。 以下のようなブロック要素の配置について <div> <div style="float; left"> コンテンツA </div> <div style="float; left"> <div> コンテンツB </div> <div> コンテンツC </div> </div> <div style="clear: both"> </div> 以上のような配置になっており、 コンテンツ3の中身をJavascriptで書き換えています。 その際、コンテンツCの横幅が変動し右に大きく広がる場合があります。 それにより、ウィンドウサイズによってはコンテンツBCがコンテンツAに回りこんでしまいます。 何故こうなるかは理解出来るのですが、対策が思い浮かびません。 ●思いついたが避けたい対応策 ・親のdivタグに想定出来る最大値のwidthを設定する ・tableタグによるレイアウト 良い対応策はございませんでしょうか? よろしくお願いします。

  • floatしたdiv内の要素について

    下記のようなHTML、CSSで、 floatしたdiv「leftside」内にp要素を配置すると p要素の上下に空間が発生します。 このp要素の上下の空間はなんでしょうか? どうすれば消えますか? ちなみに、スタイルシートから「leftside」の「float: left;」を削除するとp要素の上下空間はなくなります。 または、pタグで囲まなくても空間は消えます。 よろしくお願いいたします。 ■Html <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="test_style.css" media="all"> </head> <body> <div id="warapper"> <!-- ヘッダ --> <div id="head"> </div> <!-- 左サイト --> <div id="leftside"> <p class="test">leftside</p> </div> <!-- コンテンツ --> <div id="contents"> contents </div> <!-- フッター --> <div id="footer"> <p>fotter</p> </div> </div> </body> </html> ■Css @charset "utf-8"; body{ /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif;*/ font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; font-size: 90%; text-align:center; padding: 0; margin: 0; background-color: #fff; } #warapper{ text-align: left; width: 800px; margin:0 auto; /*ページ全体をセンタリングする指定*/ padding: 0; background-color: #ffffcc; } #head{ background-color: #000; height: 160px; margin: 0 0 20px 0; padding: 0; position: relative; /*ロゴ画像を右下に配置するため*/ } #topbar{ background-color: #dcdcdc; height: 50px; margin: 0 0 20px 0; padding: 0; } #leftside{ background-color: #ccc; width: 180px; float: left; padding: 0; margin: 0 0 20px 0; /*下方向に余白を設ける*/ overflow:hidden; } #contents{ background-color: pink; width:600px; float: right; padding: 0; margin: 0 0 20px 0; /*下方向に余白を設ける*/ } #contents_all{ background-color: pink; margin: 0 0 20px 0; /*下方向に余白を設ける*/ padding: 0 0 0 0; } #footer{ background-color:#666; text-align: center; clear: both; margin: 0; padding: 0.5em 0; } .test { background-color: red; }

    • 締切済み
    • CSS
  • CSSでメニューボタンを横一列にしたかったのですが、一ヶ所に固まります。

    CSSでメニューをつくろうとおもい、画像で作ったのですが、、それをul li でリスト化し、 div#nav ul { list-style-type: none; } div#nav ul li{ display: inline; left: 10px; top: 50px; width: 710px; } といったかんじで 横一列のメニューを作ったのですが、 left: 10px; top: 50px; の設定がいけないのか、全部の画像が左 10px 上から50pxのところにあつまってしまい、横一列に並んでくれません。 どうすればよこいちれつにならんでくれるようになりますか?もしくは、もっとよい画像を用いたメニューのつくりかたはありますでしょうか、お願いいたします。

    • ベストアンサー
    • CSS
  • 定義リストの横並びと<DIV>要素の改行

    スタイルシートでテーブルのように横並びでレイアウトさせた定義リストの<dt>の内容にリンクを張っているのですが、 FirefoxとOperaで確認すると、リンク1とリンク2にカーソルを持っていってもカーソルの形が変わらず、クリックしても飛べません。 文字色はリンク用のスタイルシートを反映した色になっています。 スタイルシートの記述に問題があるのだと思うのですが、どこが悪いのかが分かりません。 アドバイス頂けると幸いです。 <dl id="sample"> <dt><a href="aaa.html">リンク1</a> <dd>説明 <dt><a href="bbb.html">リンク2</a> <dd>説明 <dt><a href="ccc.html">リンク3</a> <dd>説明 <dt><a href="ddd.html">リンク4</a> <dd>説明 </dl> dl#sample { margin-left: 1.5em; float: left; width: 450px; padding: 1px 1px 0; color: #000; } dl#sample dt { float: left; clear: both; width: 70px; margin-right: 10px; margin-bottom: 1px; padding: 2px 0 2px 2px; } dl#sample dd { float: left; width: 350px; margin-bottom: 1px; padding: 2px; } --------------------------------------- それともう一つ、 http://jquery.andreaseberhard.de/toggleElements/ このJavascriptを利用してDIV要素を開閉しているのですが、 DIV要素を以下のように二つ並べた場合 <div class="toggler-c" title="タイトル1"> <p>内容</p> </div> <div class="toggler-c" title="タイトル2"> <p>内容</p> </div> 二つとも閉じた状態の時、改行せずに タイトル1タイトル2 と表示されるのですが、これはスタイルシートの記述に問題があるからなのでしょうか。

    • ベストアンサー
    • HTML