- ベストアンサー
CSSとMacの関係
CSSの制御で、 外部CSS マック用に css/style_mac.css に body {font-size: 12pt;} td {font-size: 12pt;} ウイン用に css/style_win.cssに body {font-size: 10pt;} td {font-size: 10pt;} と記述しています。 がプラウザで確認したところ、 windows IE5.0は制御されていますが、 Mac IE5.0で制御されません。 HTMLの呼び出しは、 <SCRIPT LANGUAGE="JavaScript"> <!-- if(navigator.appVersion.indexOf("Mac",0) != -1){ document.writeln('<link rel="stylesheet" type="text/css" href="css/style_mac.css">'); } else { document.writeln('<link rel="stylesheet" type="text/css" href="css/style_win.css">'); } //--> </SCRIPT> と記述しています。 そもそもjavaがわからないので どこを直せばMacでも制御されるのでしょうか。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと見当が違うかも知れませんが、CSSがきいてないのではなく、きいてるように見えないのではないでしょうか。(違うような気もしますが) MAC版のIE5ではデフォルトの文字の解像度がWINDOWSと同じ96dpiになっています。つまり、IE5(最近ではネットスケープ6も同様)はWINDOWSのブラウザとほぼ同じに扱ったほうがうまくいきます。そうしないと今度は他のバージョンのIEやネットスケープで文字を小さくしすぎてしまいますし。 振り分けは例えば if(navigator.appVersion.indexOf("Mac",0) != -1){ if(navigator.appName.indexOf("Microsoft",0) != -1){ if(navigator.appVersion.indexOf("MSIE 5",0) != -1){ document.writeln('<link rel="stylesheet" type="text/css" href="css/style_win.css">'); }else{ document.writeln('<link rel="stylesheet" type="text/css" href="css/style_mac.css">'); } }else{ document.writeln('<link rel="stylesheet" type="text/css" href="fontn.css">'); } }else{ document.writeln('<link rel="stylesheet" type="text/css" href="css/style_win.css">'); } こんな感じにIE5だけをWINDOWSの方に振り分けます。 あと、大きさの指定ですが、ピクセルで振り分けると、10pxぐらいの大きさでWINDOWSのIEとネスケでかなり差がでてしまいますので確認しつついろいろ試してみてはどうでしょうか。
その他の回答 (5)
- chocolats
- ベストアンサー率46% (23/49)
chocolatsです。 すみません、ミスがありました。 下のスクリプト内の fontn.css の部分は css/style_mac.css に置き換えてください。
- m_nkgw
- ベストアンサー率47% (42/89)
このスクリプトのままでは、 navigator.appVersion.indexOf("Mac",0) != -1 が間違っているのか、 <link rel="stylesheet" type="text/css" href="css/style_mac.css"> が間違っているのか、はっきりしません。 <link rel="stylesheet" type="text/css" href="css/style_mac.css"> のかわりに画面に表示される言葉を入れてみたり Style_mac.cssに必ず表示されるスタイルを指定してみたりして、どこに原因があるのか探って下さい。 >なにごとも壁にぶち当たり、乗り越えて行く。これが経験ですね。 >ひとつひとつ身につけていってください。 私もそう思います(^^)がんばってください
- kokucho81
- ベストアンサー率61% (157/255)
そうですね。もう少し補足します。 まず、pt(ポイント)という考え方ですが、 それぞれのOSで(何ドット⇔何ポイント)としている基準が違っています。 なんでちがっているのはわかりませんが、違っているからしょうがない(笑)。 ところで、shizukuさんは、 他の、例えば「テーブル」や「絵」の大きさなどでも、「高さ」や「幅」を指定なされることがあると思います。 その時、あまり単位のことは、気になされないかもしれませんが、 よくよく考えると、これはピクセル単位の指定をしていますよね。 あまりに当然の属性になりすぎて意識していないと思います。 テーブルの指定で、ピクセル単位の指定をしたときに、OSごとに変わったりはしませんよね。 絵の大きさも変わったりはしません。 ですから、フォントもピクセル指定してやればいいのです。 (フォントをフォントとしてではなく、図として考えれば、わかりますね) やりかたは、今 pt と書いているのを px とします。 もし、Windows と MAC で「行間」が合わないと思ったら、 body {font-size: 14px; line-height : 120%;} td {font-size: 14px; line-height : 120%;} というように、「フォントのサイズを基点」として、「行間」を明確に指定してやりましょう。 なにごとも壁にぶち当たり、乗り越えて行く。これが経験ですね。 ひとつひとつ身につけていってください。
お礼
病気で会社を休んでいたため、遅くなりました。 あとで色々と試してみて、 WinとMacが一番寄り添うところを見つけたいと思います。 ありがとうございました。
- kokucho81
- ベストアンサー率61% (157/255)
根本的なところで、なぜ ptで大きさを指定しているのでしょう? ptはプラットフォームごとに大きさが違います。CSSで指定している意味が半減するのではないでしょうか? px指定であれば絶対的大きさのため、MACとWINDOWSを分ける必要性はなくなると思うのですが。 MACとWINDOWSで文字の大きさ自体を分けたいのならごめんなさいね。
補足
kokucho81さん、いつもありがとうございます。 本でMACとWINDOWSで、文字の大きさがMACのほうが小さいとふうに 書いてあったと思ったので、変えてみたのですが・・・ 「px指定」とはどのようなことでしょうか。
- cocky
- ベストアンサー率57% (232/402)
Macとそれ以外のOSでスタイルシートを分けるんなら、navigator.appVersionを使うのではなく、navigator.platformを使った方がいいと思いますが。 とりあえずif文のところを、 if( navigator.platform.indexOf( "Mac", 0 ) != -1 ) { に変えればうまく行くと思います。 詳しくは「とほほのJavaScript入門」(URLは下記)を読んで勉強して下さい。
補足
<SCRIPT LANGUAGE="JavaScript"> <!-- if( navigator.platform.indexOf( "Mac", 0 ) != -1 ) { document.writeln('<link rel="stylesheet" type="text/css" href="css/style_mac.css">'); } else { document.writeln('<link rel="stylesheet" type="text/css" href="css/style_win.css">'); } //--> </SCRIPT> Macで確認したんですけど制御されていないようなのですが、 間違っているところ、ありますでしょうか。
お礼
病気で会社を休んでいたため、遅くなりました。 書いてくださったスクリプトを参考にやってみたら、 Macでもある程度の倍率まで制御できるようになりました。 ありがとうございました。