プロが教える店舗&オフィスのセキュリティ対策術

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でも制御されるのでしょうか。

よろしくお願いいたします。

A 回答 (6件)

Macとそれ以外のOSでスタイルシートを分けるんなら、navigator.appVersionを使うのではなく、navigator.platformを使った方がいいと思いますが。


とりあえずif文のところを、

if( navigator.platform.indexOf( "Mac", 0 ) != -1 ) {

に変えればうまく行くと思います。
詳しくは「とほほのJavaScript入門」(URLは下記)を読んで勉強して下さい。

参考URL:http://wakusei.cplaza.ne.jp/twn/wwwjs.htm

この回答への補足

<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で確認したんですけど制御されていないようなのですが、
間違っているところ、ありますでしょうか。

補足日時:2001/02/23 15:03
    • good
    • 0

根本的なところで、なぜ ptで大きさを指定しているのでしょう?



ptはプラットフォームごとに大きさが違います。CSSで指定している意味が半減するのではないでしょうか?

px指定であれば絶対的大きさのため、MACとWINDOWSを分ける必要性はなくなると思うのですが。

MACとWINDOWSで文字の大きさ自体を分けたいのならごめんなさいね。

この回答への補足

kokucho81さん、いつもありがとうございます。

本でMACとWINDOWSで、文字の大きさがMACのほうが小さいとふうに
書いてあったと思ったので、変えてみたのですが・・・

「px指定」とはどのようなことでしょうか。

補足日時:2001/02/23 15:04
    • good
    • 0

そうですね。

もう少し補足します。

まず、pt(ポイント)という考え方ですが、
それぞれのOSで(何ドット⇔何ポイント)としている基準が違っています。
なんでちがっているのはわかりませんが、違っているからしょうがない(笑)。

ところで、shizukuさんは、
他の、例えば「テーブル」や「絵」の大きさなどでも、「高さ」や「幅」を指定なされることがあると思います。
その時、あまり単位のことは、気になされないかもしれませんが、
よくよく考えると、これはピクセル単位の指定をしていますよね。
あまりに当然の属性になりすぎて意識していないと思います。

テーブルの指定で、ピクセル単位の指定をしたときに、OSごとに変わったりはしませんよね。
絵の大きさも変わったりはしません。
ですから、フォントもピクセル指定してやればいいのです。
(フォントをフォントとしてではなく、図として考えれば、わかりますね)

やりかたは、今 pt と書いているのを px とします。
もし、Windows と MAC で「行間」が合わないと思ったら、

body {font-size: 14px; line-height : 120%;}
td  {font-size: 14px; line-height : 120%;}

というように、「フォントのサイズを基点」として、「行間」を明確に指定してやりましょう。

なにごとも壁にぶち当たり、乗り越えて行く。これが経験ですね。
ひとつひとつ身につけていってください。
    • good
    • 0
この回答へのお礼

病気で会社を休んでいたため、遅くなりました。

あとで色々と試してみて、
WinとMacが一番寄り添うところを見つけたいと思います。

ありがとうございました。

お礼日時:2001/03/12 15:59

このスクリプトのままでは、


navigator.appVersion.indexOf("Mac",0) != -1
が間違っているのか、
&lt;link rel="stylesheet" type="text/css" href="css/style_mac.css"&gt;
が間違っているのか、はっきりしません。

&lt;link rel="stylesheet" type="text/css" href="css/style_mac.css"&gt;
のかわりに画面に表示される言葉を入れてみたり
Style_mac.cssに必ず表示されるスタイルを指定してみたりして、どこに原因があるのか探って下さい。

>なにごとも壁にぶち当たり、乗り越えて行く。これが経験ですね。
>ひとつひとつ身につけていってください。

私もそう思います(^^)がんばってください
    • good
    • 0

ちょっと見当が違うかも知れませんが、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とネスケでかなり差がでてしまいますので確認しつついろいろ試してみてはどうでしょうか。
    • good
    • 0
この回答へのお礼

病気で会社を休んでいたため、遅くなりました。

書いてくださったスクリプトを参考にやってみたら、
Macでもある程度の倍率まで制御できるようになりました。

ありがとうございました。

お礼日時:2001/03/12 15:55

chocolatsです。



すみません、ミスがありました。
下のスクリプト内の fontn.css の部分は
css/style_mac.css に置き換えてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!