• ベストアンサー

min-widthとwidthの使い分けについて

重ねて質問すいません。 min-width、max-widthはどういうときに使えばいいのでしょうか? なぜwidthではいけないのでしょうか? min-widthを背景画像などを指定していて、レイアウトを崩さないために用いる場合は理由がよくわかるのですが、背景画像なども特に指定していない場合などは、width指定でも大丈夫のような気がするのですが…… すいませんが、ご教授お願いいたします。

noname#228688
noname#228688
  • CSS
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

widthでは、巾が固定されてしまいます。  最近は様々な端末が存在するため、幅の狭いディスプレイでは横スクロールを求められるし、幅広ディスプレイでは画面の一部しか使用されません。  そこで、 body>div.header,body>div.section,body>div.footer{ width:90%; min-width:640px; max-width:900px; margin:0 auto; } のように指定しておくと、ディスプレイ巾に合わせて表示部分は伸縮して表示されます。ここで、min-widthは、スマートフォンを意識しています。スマートフォン(縦)だと、640pxを320pxに縮小--約1/2に縮小して表示されます。(スマートフォンの利用が多いと想定される場合は、別のスタイルシートを読ませるなどになります)  レイアウトは、幅が狭い場合は回り込ませるとかもあるのでそれほどは考えません。 たとえば ・アルバムのような写真と説明とかでしたら、640pxのときは横に2列ですが、900pxのときは3個並ばせるとか ・メニューとコンテンツが狭い画面では縦並びだが、広いときは横並びとか  min-widthやmax-widthは、ディスプレイの巾を横スクロールなしで精一杯活用するが、上限と加減を設けるときに使用します。

noname#228688
質問者

お礼

度々すいません。解説ありがとうございます。 そういう風に使うのですか。 いろんな端末から閲覧されることを、考えるのは重要ですね。 回答ありがとうございました。

関連するQ&A

  • widthとmax-widthについて。。。

    cssについて、困っています。アドバイスを何卒宜しくお願い致します。 widthとmax-widthですが、あまり理解できていません。。 可変式にブラウザウィンドウのサイズを変更しても思うように画像要素が小さくなっていくようにして作っているのですが、どこにmax-widthで%指定し、どの場合はwidthで%指定するのか、または両方指定するのかが把握できておらず、 最終的に形にはなり、完全にレスポンシブ化できるのですが、このままではいつか痛い目にあうだろうなと思い調べたりしているのですが解決に至らずご質問いたしました。ご教示いただければ幸いです。 何卒どうか宜しくお願い致します。

    • ベストアンサー
    • CSS
  • ワードプレス max-width100%が効かない

    ワードプレスでレスポンシブデザインを作ろうと思っているのですが、 画像の大きさを変えるために、cssに img{max-width:100%;} を指定しているのですが、ウィンドウサイズを変えても画像の大きさが変わらず困っています。 cssの指定は効いています。max-widthの部分だけ効いていません。 何が原因なのでしょうか?よろしくお願いします。

    • 締切済み
    • CSS
  • min-width?を使って背景にスクロールを出さない

    body内にcssでbox1をおき、そこに固定背景を指定しています。 その中にさらにbox2を置いています。 box1の幅が1000px、box2の幅が600pxだとします。 できれば、横スクロールをbox2の幅以下で出したいのです。 min-widthではIE6等には利きません・・・。 ハック、javascriptもかわまないので、どなたか効率のいいやり方を伝授していただけないでしょうか? よろしくお願いします。 何もない状態のcssを書きます。 ■CSS body{ } .box1{ width: 1000px; height: 500px; margin: 10px auto; background-color:#000; text-align:center; } .box2{ width: 1000px; height: 300px; margin: 100px auto; background-color:#fff; } ■HTML <body> <div class="box1"> <div class="box2"> </div> </div> </body>

  • CSSによってIEでNNにあるmax-widthと同等の機能は?

    お世話になります。 NNですとmax-widthのCSSが使えると思うのですが IEでは適用されていません。 そこでmax-widthを同等の機能を満たすようにするにはどうすればよいのでしょうか? divタグを使用しておりまして、max-widthで指定した幅を超えないようにしたいと思っております。 申し訳ありませんが、ご教授よろしくお願いいたします。

  • imgタグのmax-widthについて

    画像(40×30)を領域(20×10)に縦横比を維持したまま縮小する際に imgタグにstyle="max-width:20px;max-height:10px;"を指定すること で画像を13×10のサイズで表示することは可能ですか? また、できない場合はどのような方法を用いるべきでしょうか?

  • CSSによってIEでNNにあるmax-widthと同等の機能をさせるには?

     HTMLの<table>タグを使わずに、CSSのpositionやfloatを使って横2段、3段組のレイアウトをしたいと考えています。  さて、この場合それぞれの段に設定した横幅よりも大きな幅を持つ画像を挿入した場合、NNではmax-widthにより画像の最大幅をコントロール出来ますが、IEではこの属性設定が出来ません。このため画像を挿入した段の横幅が画像の幅まで伸びてしまうことがあります。そこで、NNのmax-widthに相当する機能をCSSによりIE上で実現する方法をお教えください。

    • ベストアンサー
    • HTML
  • max-widthを指定した場合の縦サイズのリサイズ方法

    画像のサイズをCSSのmax-widthを指定した場合、縦のサイズを、縦横比率を変えずに自動でリサイズする方法を探しています。 CMS (Movable Type)でサイトを構築しており、ブログ記事の本文に「画像挿入」ボタンを利用して挿入するため、<img src="photo.jpg" width="600" height="400">とwidthとheightが指定された状態のため、max-widthで400pxと指定すると画像が縦長になってしまっています。 どのようにすれば縦横比率を変えず、さらにmax-widthのような形で縦のサイズを自動でリサイズする事ができますでしょうか?宜しくお願いします。

    • ベストアンサー
    • HTML
  • IE6でmax-width:100px; max-height:100pxを実現にするには

    BLOGでエントリーから画像だけを読み出しサムネイルを集めたhttp://www.photocase.com/photobrowser.aspのようなページを作ろうと考えています。 画像の大きさはまちまちなのでmax-width:100px; max-height:100pxとしました。 しかしmax/min-height/widthはIE6に対応しません。 そこで▼以下の2つを試してみました。 ・max-width in Internet Explorer(IE独自のexpressionを利用)  http://www.svendtofte.com/code/max_width_in_ie/ ・minmax.js module(Java Scriptを利用)  http://doxdesk.com/software/js/minmax.html ただしこれらの使用方法に従って記載しても、max-width:100px; height:100px(縦長の画像は100px×100pxに)またはwidth:100px; max-height:100px(横長の画像は100px×100pxに)となってしまいます。 Java Script、CSS、または両方を使って解決できる方法がありましたら教えていただけませんでしょうか。 よろしくお願いいたします。

  • 1/x→max と x^2→min の対応

    ある条件下で 1/x→max となるxを求めるのは、 x^2→min となるxを求めることと等価である。 …なぜ?? SVMの勉強をしていたら、こんなところでつまづいてしまいました。 なんとなくわかるような気もするのですが、すっきりしません。 ご教授願いたいと思います。

  • width100%とfloat

    左右分割サイトで ・左側メニューは160px(#menu) ・右は残りすべて(#main) というものを作りたいのです。 #menu {width:160x;float:left;} にすると、#menuは左寄せになりますが #mainは右側に寄ってくれません(width属性を指定していないから)。 tableレイアウトを使用せずにこのようなことができますか? 条件は ・HTML 4.01 Strict ・tabelを使用しないレイアウト ・フレーム使用なし です。 お願いします!

    • ベストアンサー
    • HTML