• ベストアンサー

CSSを使った相対単位の指定方法を教えていただけますか?

今までpxなどの固定幅でしかサイトを作ったことが無かったのですが、今回、%でサイトを作っていこうと思います。 色々とお伺いしたいことは有るのですが・・・。 何個か聞いても良いですか? 質問1 文字などの単位は何で指定したら良いですか?以前は12pxとかで指定していましたが、枠だけ%で文字はpxって何か変かな?と思っています。 通常こういった相対的なサイトを作る場合、どんな単位で指定されますか? 質問2 現在CSSで3カラムをやっとこ作りました。大まかに左から30%・50%・20%といった感じで、うまく表示されているのですが、画面の端っこをつまんで表示を小さくしたら、カラムごと移動してしまいます。 一番小さく画面をしたら、全部左側のカラムの下に移動して、縦一列の1カラムのようになってしまいます。文字は仕方ないかと思うのですが、BOXごと移動は少し変なので、これを固定するにはどうしたら良いでしょうか?? 色々質問してすみません・・・。1つでも結構ですのでお分かりになる方いらっしゃいましたら、アドバイスお願いします! また、相対的な単位でもサイト構成で注意事項などあれば、ご指摘いただければ幸いです。 どうぞ宜しくお願いいたします。

  • HTML
  • 回答数4
  • ありがとう数0

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

  • ベストアンサー
  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.4

質問1 標準フォントサイズを % 指定にしておいて、そこから em 単位で相対値指定をすると環境間での表示サイズの差がほとんどなくなりますよ。 例えばbodyが80%で、大きくしたいところを2emで指定する、とか。 質問2 数値を少し小さくするだけで多少の効果はあると思います。 しかしマルチカラムレイアウトでウインドウをある程度狭くした場合はボックスの動くほうがいいんじゃないかな。 ウインドウサイズや表示フォントサイズなどの関係で文字の折り返し頻度が多くなると非常に読みづらくなりますから。 あ。最大限に表示幅を小さくしたときにボックスがずれると言うレベルまで行った場合のことは無視して構わないと思いますよ。 そこまで極端に幅を狭くして文字を読もうとする人は普通いません。いるとすればその人の性格が曲がっているのです^^; 例えばあなたは1行10文字以下で折り返されるような状態で表示された長い文章を読みたいと思いますか? 一般的なユーザーはウインドウサイズ・フォントサイズなどを読みやすい大きさに設定するだろうと思います^^ ウインドウサイズをぎりぎりまで狭くしてもそれがユーザーにとって読みやすい大きさであるとは考えにくいです。

その他の回答 (3)

  • ba-demi
  • ベストアンサー率71% (5/7)
回答No.3

・文字サイズについて 「幅はパーセントだから文字の単位はこれであるべきだ」ってことは基本的にありませんが、ピクセルで指定するとIEで見るときに文字の大きさを変えられないので、「small」や「em」や「%」の方がいいと思います。 ・横幅をパーセントで指定したボックスの配置について お使いのブラウザはIEではありませんか? 3つのカラムを、何を使って配置しているのかわかりませんが、IEには「幅をパーセント指定したfloatの段組が崩れる」というバグがあります。 必ず崩れて表示されるというわけでなく、表示されたり崩れたりと微妙です。もしfloatを使っているならおそらくそれが原因です。 対処法については、「パーセント値の合計を100%未満にする」というのもありです。96%とか97%とか。 レイアウトにもよりますが、positionを使った配置も有効だと思いますので試してみてください。

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

単位は何でもOK 混合も可能です。 大きな文字はpx指定でもいいのですが、 小さなの文字は、%やem指定がいいでしょうね。 big small もありです。 (フォントサイズ変更時に改行される場合の横幅注意です。 サイズ変更に伴い改行されると 見栄えが悪くなる場合もありますので・・・) divフロート枠の%指定は難しいですよ。 (外枠を作るか、その点だけはpxで固定)

  • dezimac
  • ベストアンサー率56% (2365/4208)
回答No.1

1.臨機応変に。何も全てを相対・絶対指定する必要ないです。 文字サイズを12pxと指定して枠の幅を50%としてもおかしくないです。 幅は100px固定で文字サイズは80%とか。 ただ、文字サイズの絶対指定はあまりお勧めしません。 相対指定(%)でしておけば、見る側が設定している文字サイズを基準にするので小さくて見づらいということは防げます。

関連するQ&A

  • 相対だけど固定にしたい・・・お助けを~

    宜しくお願いします。 現在ページを%指定で作っているのですが、思うように表示が出来ません。 ちなみにページ構成は2カラムで、ボックス部分は全て%で指定しています。 また、それらを全てCSSで定義しているのと、xhtmlのストリクトで定義しています。 問題部分は、ブラウザを最大化して閲覧すると問題なく表示されるのですが最小化?というか、小さくしてブラウザの端っこを持って左右に伸ばしたり縮めたりすると、ページの中に表示されているボックス部分が下に回り込んだりして崩れてしまいます。 意味が伝わりますでしょうか?なんとも表現が難しいのですが・・・。 普通、画面を小さくしても中のページコンテンツはそのままで、表示自体は崩れないと思うのですが、例えば、http://www.w3.org/ 相対指定なので、それぞれの3カラムの幅は比例して収縮されますが、 その、並びなんかはそのままですよね? 私の場合、画面を縮めるとboxごと下に回り込んで、根本的なレイアウトが変わってしまうのです・・・。 変な質問ですみません、伝わらなかったら補足します・・・。 どなたかアドバイスを宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • cssの文字の単位について。

    文字指定の単位はたくさんあります。 『cm』『mm』『in』『pt』『pc』『em』『ex』『px』『%』 と、こんなに色々あります。 それで、どれを使うのが一番良いのかが知りたいのです! 私は今まで『px』を使ってきました。 でも、『px』は使わない方が良いという記事を見ました! どのブラウザでもOSでも問題なく見れて、使いやすいのはいったいどれなのでしょう? ご意見または参考サイトなど教えていただければ幸いです。

  • cssでフォントサイズを相対指定。→NNで小さすぎ

    webデザイナーを目指しただ今、HP制作勉強中の者です。 Win&Mac(IE5.5、NN4.7、7.0)で確認作業しています。 IE、NNで共にフォントサイズの固定をせずに、尚且つ、IEでの表示文字サイズ「中」を基準として、程よい大きさで表示をさせたいと思い、cssで相対サイズの font-size:x-small を指定しました。 IEではうまい具合にいくのですが、NNの方で、大きさは可変するものの、デフォルト(文字の大きさ100%)で小さすぎになってしまい、どうにかこのような状況を避け、下記のような条件でフォントサイズを制御したいのですがどんな方法がありますでしょうか? ●NN、IEともにサイズ固定させたくない ●NNデフォルトで、読みやすいくらいのフォントサイズで表示したい ptで指定すると、IEでは固定されてしまいます。 ユーザーがNNのブラウザの設定をいじって、デフォルトサイズを変更しない限り無理なのでしょうか? また、IEとNNで別々のcssを適用させるなどの方法が存在するのでしょうか? NNでの表示は目をつぶりますか? 又、商業的なサイトを制作されている方は、文字サイズを固定させたくない場合にどんな指定をしますか?

    • ベストアンサー
    • HTML
  • cssで指定した文字の大きさがIE6とIE7で違う

    cssでレイアウトを指定したサイトを作りました。 IE6、Opera9、Firefox2でうまく表示ができました(微妙にFirefoxだけ文字の大きさが小さいですが、ほぼレイアウトにあっています)。 が、先日IE7で確認するとフォントサイズが大きくなっていました。 cssではfont-sizeを、bodyが12px、各id、classはそれぞれ11px、10pxとしました。 IE7だと13pxくらいに見えてしまい、レイアウトをはみ出て表示されています。 IE7をIE6と同じフォントサイズにするにはどのように指定すればよいのでしょうか? ちなみに文字の大きさは固定でブラウザで大きさを変更できないようにしたいのです。 すみませんがよろしくお願いします。

  • 【CSS】左右可変、中央固定の3カラムレイアウト

    ボックス3つを横一列に、 center:画面中央配置、幅は900px固定 left:残りの左領域全て(幅可変) right:残りの右領域全て(幅可変) というレイアウトをしたいのですが、CSSでの指定方法が解らず困っています。 2カラムや左右固定・中央可変の3カラムレイアウトは様々なサイトで解説されているのですが、 このパターンは中々無いようで見つかりませんでした。 良い方法をご教示いただければと思います。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • 入れ子table個々への文字サイズ指定の方法

    tableを入れ子にしてサイトのレイアウトを行っているのですが、 中に入っているtableに別の文字サイズを style="font-size : ○px;" の様に指定しようとしても、headで指定している文字サイズに邪魔されて 中に入っている小table個々の指定通りに表示されません。 <td>それぞれに一つ一つ入れていくと、指定通り表示されます。 これを、小テーブルに一括して指定するもう少しスマートな方法を御教えください。 確かBOXごとに名前を付けて指定していく方法があったと思うのですが 今探しても見つかりませんでした。どうかお助けください。

    • ベストアンサー
    • HTML
  • 左右段組で、左側を数値固定、段組間に20pxの空き。このCSS記述について

    こんにちは。 左右段組をCSSの「float」でやろうとしています。 左をdivでくくりclassを「column01」 右をdivでくくりclassを「column02」とし 左側は横幅180px固定です。 両者の間に20pxの空きを入れたいと思います。 以下のようにCSS指定をしました。 .column01 {width : 180px; float : left;} .column02 {margin-left : 200px;} 質問(1) この記述は正解でしょうか? いろいろなサイトで調べても column02を指定なしにする解説がほとんどで 正しいのかどうかがよく分かりません 質問(2) 上の記述で、多くのブラウザでは 希望通り表示してくれますが 「Netscape4.73」ではcolumn01と02の間が 200pxどかんと開いてしまいます。 これは「Netscape4.73」のバグなのでしょうか? それとも(1)の記述自体が間違っているのでしょうか?

    • ベストアンサー
    • HTML
  • CSSでの擬似インラインフレーム

    CSSでの擬似インラインフレームでのサイトを作成しています。 ページ全体枠を900px×650pxで左右上下の中央表示にし、 左側にナビゲーション、右側にコンテンツを配置しています。 右側のコンテンツ部分は400px×500pxのみ表示して 残りの部分はoverflow:hiddenを指定して表示しないようにしました。 左側のナビゲーションは位置を固定にし、ボタンをクリックすると 右側のコンテンツ枠に各項目の内容が入れ替わり表示するように しました。 次に、クリックした際に右側のコンテンツ部分の表示移動が パッと入れ替わるのではなく、スルスルと画面が推移するなめらかスクロールで場面が移動しているように見せたいのですが スクロールのjavascriptはこちらのサイト(http://lab.centralscrutinizer.it/the-tiny-scrollings/)でダウンロードさせていただいたファイルを設置したのですがパッと画面表示が変わるのみでスルスルっと動いてくれません。。。 私はjavascriptの記述知識がないためどうすればよいのかわからず ご質問させていただきました。 どうすれば良いのでしょうか。 どなたかお助けくださいませ。 よろしくお願いします!

    • ベストアンサー
    • HTML
  • cssで文字サイズ指定、ptでもpxでも指定できますが、違いは?

    CSS初心者です。初歩的ですが、教えてください。 文字サイズの指定の単位はいろいろあるみたいですが、 皆様はどの単位を使っていますか? 例えば、ptとpxどちらも結構細かくサイズを指定できますが、 どちらかを選ぶ理由がいまのところありません。 どちらを何故使うのか、違いはあるのか・・・? よろしくお願いします。

    • ベストアンサー
    • HTML
  • CSS font-sizeのパーセンテージ指定「管理がややこしくないですか?」

    色々実験しているのですが、、、 CSSでフォントサイズを「%」指定すると、サイズの基準になるのはひとつ前の親要素のフォントサイズになるみたいですね。 ============ <div style="font-size:80%">あああ<span style="font-size:100%">いいいい</span>あああ</div> ============ 上記の場合「いいい」のサイズは「あああ」に指定している「80%」を継承し、基準値となるので「いいい」と「あああ」のサイズは変わらない。 「いいい」をブラウザデフォルトの16px相当のサイズで表示しようとすると、「<span style="font-size:130%">いいいい</span>」にしなくてはいけないようです。(少なくとも自分が実験した限りでは・・・) 親要素どころか、先祖要素なんかも影響してくることを考えるとテキストサイズを「%」指定することはとてもややこしいことでは無いですか?どのように管理されていますか? 最近は文字サイズはpx等の固定ではなく、相対指定するのが望ましいと言われているので「%」で指定していこうと思っているのですが。 基本的な質問ですみません。 ※質問しやすいように「style」直接記述をしていますが、普段はCSSファイルをhtmlに読み込みしています。

    • ベストアンサー
    • HTML

専門家に質問してみよう