CSS {font-size:数値px}の指定について

このQ&Aのポイント
  • CSS {font-size:数値px}の指定について規定のフォントサイズを設定する方法について質問です。
  • IE6とNN7では問題なく動作するが、IE7、NN7、Firefox1.5では指定したフォントサイズが反映されない現象が発生しています。
  • 規定のフォントサイズを数値指定して表示させたい場合、どのような指定方法が適切なのか教えてください。
回答を見る
  • ベストアンサー

CSS {font-size:数値px}の指定について

こんにちわ。 外部CSSにて、以下のような記述を読み込んでいます。 .12 {font-size:12px} 参考書を見た所、IE6とNN7は対応と書いてありました。 WindowsXPSP2にて、IE7で閲覧した所問題ありません。 同環境にて、NN7とFirefox1.5では文字が指定しない場合と 同じ大きさで表示されてしまいました。 指定箇所は、様々でDivやFontに入れても、TableやTDに 指定を行っても表示が全く変わりませんでした。 例:<td class="12">のように 私の指定や記述が間違いなのでしょうか。 %でのフォントサイズは、環境によって拡大縮小が異なると 思い、出来るだけ数値指定で表示をさせたいです。 ご存知の方おりましたら、ご教授頂けると幸いです。

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

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

  • ベストアンサー
回答No.1

どの程度の範囲をそのpxフォントで表示したいのかが、 わかりませんが、例えば全体のフォントサイズを12pxで固定したい場合は、<body></body>のBODYに対してCSSを定義すればそのフォントサイズになります。 CSSのソースは、 body {    font-size: 12px; } こうなります。 質問者様が使われている<td class="12">のようなものは、クラスと言って、繰り返し使うであろう、特定のタグに対してのサイズ指定となります。 前述した<body>に対してのCSS設定は全てに対してのフォントサイズ固定ですが、<body></body>内にある他の要素のフォントサイズを変更したい場合は質問者様の方法で指定できます。 参考URLにお勧めCSS学習サイトを記載致します。 ご参考になりますと幸いです。

参考URL:
http://www.stylish-style.com/index.html

その他の回答 (3)

noname#20377
noname#20377
回答No.4

あと、原則小文字で統一すべきとされるXHTMLですが id属性だけは大文字の方が良いと思います この辺は色々あるらしいんですが、 以下の文書のリンク先、リンク切れてましてorz http://www.akatsukinishisu.net/itazuragaki/id/id_attr_in_HTML

ele_ele
質問者

お礼

まとめてこちらにお礼をさせて頂きます。 原因は、ご指摘の数字での開始でした。 12からt12へと変えてみました所、多種のブラウザで 動作確認ができました。 技術的に非常に分かりやすいご回答を頂きまして 誠にありがとうございました。

noname#20377
noname#20377
回答No.3

相変わらす自信なし。以下全部引用だけで済ませるけど http://www.kanzaki.com/docs/html/htminfo17.html#selector-chars >セレクタで使用できる文字 CSSのセレクタ名で使える文字は、HTMLでの名前文字より制約が厳しく、「使用できる文字は大小アルファベットと数字 [A-Za-z0-9] 、ASCII以外のUnicode文字、およびハイフン(-)とアンダースコア(_)に限る。識別名は数字もしくはハイフンと数字の組合せで始めることはできない。また、セレクタの要素型名、クラス名、ID名はハイフンで始めることはできない」とされています。HTMLではコロン( : )、ピリオド( . )も2文字目以降の名前文字として認められているので注意してください。 〔補足〕 CSS 2.0の定義では「アルファベットで始まり、アルファベット、数字、ハイフン(およびUnicodeの一部)のみで構成される、ただし最初の文字には数字/ハイフンは使えない」とされていたため、この仕様に従えば (正しくないとされていた例) p.test_paragraph {color: red} と記述したクラスセレクタは誤りということになり、事実いくつかのブラウザではスタイルが反映されませんでした。アンダースコア( _ )が使えないという制約は、CSS2仕様書の正誤表(Errata in REC-CSS2-19980512)およびCSS 2.1で削除されています。 なお、ピリオド( . )などの文字は、「\」でエスケープすればセレクタに用いることができます。 ====================== 参考 http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-identifier Section 4.1.1 (and D2) * All CSS style sheets are case-insensitive, except for parts that are not under the control of CSS. For example, the case-sensitivity of values of the HTML attributes "id" and "class", of font names, and of URIs lies outside the scope of this specification. Note in particular that element names are case-insensitive in HTML, but case-sensitive in XML. * In CSS2, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher, plus the hyphen (-); they cannot start with a hyphen or a digit. They can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier "B&W?" may be written as "B\&W\?" or "B\26 W\3F". Note that Unicode is code-by-code equivalent to ISO 10646 (see [UNICODE] and [ISO10646]). * In CSS2, a backslash (\) character indicates three types of character escapes. First, inside a string, a backslash followed by a newline is ignored (i.e., the string is deemed not to contain either the backslash or the newline). Second, it cancels the meaning of special CSS characters. Any character (except a hexadecimal digit) can be escaped with a backslash to remove its special meaning. For example, "\"" is a string consisting of one double quote. Style sheet preprocessors must not remove these backslashes from a style sheet since that would change the style sheet's meaning. Third, backslash escapes allow authors to refer to characters they can't easily put in a document. In this case, the backslash is followed by at most six hexadecimal digits (0..9A..F), which stand for the ISO 10646 ([ISO10646]) character with that number. If a digit or letter follows the hexadecimal number, the end of the number needs to be made clear. There are two ways to do that: 1. with a space (or other whitespace character): "\26 B" ("&B") 2. by providing exactly 6 hexadecimal digits: "\000026B" ("&B") In fact, these two methods may be combined. Only one whitespace character is ignored after a hexadecimal escape. Note that this means that a "real" space after the escape sequence must itself either be escaped or doubled. * Backslash escapes are always considered to be part of an identifier or a string (i.e., "\7B" is not punctuation, even though "{" is, and "\32" is allowed at the start of a class name, even though "2" is not). http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html * The "nmchar" token should also allow the range "A-Z". * In the rule for "any" (in the core syntax), change "FUNCTION" to "FUNCTION any* ')'". [2001-04-03] The underscore character ("_") should be allowed in identifiers. The definitions of the lexical macros "nmstart" and "nmchar" should include it and become, respectively: nmstart [a-zA-Z_]|{nonascii}|{escape} nmchar [a-zA-Z0-9-_]|{nonascii}|{escape} 4.1.3 Characters and case In the third bullet, add to point 1.: 1.with a space (or other whitespace character): "\26 B" ("&B") the following text: "In this case, user agents should treat a "CR/LF" pair (13/10) as a single whitespace character." [2001-07-30] The underscore should be allowed in identifiers. Change "In CSS2, identifiers [...] can contain only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher, plus the hyphen (-)" to: In CSS2, identifiers [...] contain only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher, plus the hyphen (-) and the underscore (_)

noname#20377
noname#20377
回答No.2

Firefox 3.0a 再現しました。class名が数字で始まっているためのようです 以下テストケースです。hoge.htmlとして保存しました>以後の回答者様 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xml:lang="ja" lang="ja" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>実験</title> <style> .a12 {font-size:12px;} .a15 {font-size:15px;} .12 {font-size:12px;} .15 {font-size:15px;} td.16 {font-size:16px;} td.17 {font-size:17px;} </style> </head> <body> <table> <caption>実験テーブル1</caption> <tbody> <tr><td class="a12">あ</td><td class="a15">い</td></tr> </tbody> </table> <table> <caption>実験テーブル2</caption> <tbody> <tr><td class="12">あ</td><td class="15">い</td></tr> </tbody> </table> <table> <caption>実験テーブル3</caption> <tbody> <tr><td class="16">あ</td><td class="17">い</td></tr> </tbody> </table> </body> </html> http://web.xii.jp/iec/html/memo/id-class 当たり見るとclass名はアルファベットで始められるようですねぇ・ ・・他のいくつかのサイトではid、class共にアルファベット始まりだという記述も見るのですが・・・ W3Cの文書を読んでいないので正確なことはわかりませんから、調べてみる価値はあるかも。もし上記文書が正しいなら、bugzilla.mozilla.orgを漁ることになりそうですね

関連するQ&A

  • 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のfont-sizeがFirefoxで効かない

    .css 記載したfont-sizeがFirefoxで表示すると、反映されません。IEでは、反映されます。 記載ミス?でしょうか。 colorは反映されます。 どうぞ、よろしくお願いいたします。 CSS部分 td{ color:#663300; font-size: 10pt; } html部分 <td>ああああ<td>

    • ベストアンサー
    • 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
  • cssで最適なfont-sizeの指定は?

    (ブログのカスタマイズ初心者です。過去ログを探しても見つからなかったので、質問させて下さい) cssでのfont-sizeの記述は、どのような形が最適でしょうか? px, em, %, mediamやsmall、その他、単位が色々あって、迷ってしまいます。 pxで指定するのが一般的な気がしますが、IEで文字サイズを変えた時に、変わらないのが不便な気がします。 body {font-size: small;  line-height: 160%; } のような形が良いように思いますが、あまり見かけません。 皆様は、どのようにしていらっしゃるのか、教えて頂けたらと思います。 よろしくお願い致します。

  • スタイルシートのブラウザ対応状況について

    font-sizeの指定をしたいのですが、スタイルシートで困っています。 インラインで<div style="font-size:10px">AA</div>と記述すると、 きちんと表示してくれるのですが、 <Head>内にclassで記述したり、外部スタイルシートを用いると、 WINDOWSのNN4.0やNN4.75では、全く反応してくれません。 IE4.0以降やNN6では、きちんと表示されるのですが。。。 いろんな本を読みましたが、どの本もNN4.0以降なら、 外部スタイルシートも使えるようなことを書いてあったので、 困っています。 誰か詳しい方がおられたら、教えてください。

    • 締切済み
    • CGI
  • CSSでフォントの大きさを指定するとき

    CSSでフォントの大きさを相対指定したいのですが、Bodyでフォントサイズを80%にすると、テーブルの中はもとのままの100%の大きさです。そこで、Tableのフォントサイズも80%にすると、0.8*0.8したようにさらに小さくなってしまいます。 たとえば、下のようなページだと ----------------------------- <BODY> あいうえお<BR> <TABLE> <TR> <TD>アイウエオ<BR> <TABLE> <TR> <TD>aiueo<BR> </TD> </TR> </TABLE> </TD> </TR> </TABLE> </BODY> ----------------------------- 「あいうえお」が80%の大きさで、「アイウエオ」はさらに小さく、「aiueo」はゴミのように小さくなってしまいます。 どのように指定すれば良いのでしょうか?よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • IEでのCSS文字サイズの指定について

    IE9が発表されたのを機に、IEでのCSS文字サイズの指定を見直そうと「サッポロホールディングス」を参考にしています。 http://www.sapporoholdings.jp/ ソースを見ていくと「base.css」の「body」に下記の記述があります。 font-size: 12px; *font-size: 75%; IE6-7は「75%」指定になるので文字サイズが変えられるのですが、IE8では「12px」指定になって文字サイズが変えられません。 ですが、実際にIE8で見てみると文字サイズの変更ができました。IE8の「開発者ツール」で見ると「75%」指定になっています。 ソースをくまなく見たのですが、なぜこの結果になるかがわかりません。 わかる方、ご教授お願いします。

    • ベストアンサー
    • CSS
  • フォントサイズの指定

    ドコモ向けサイトをXHTMLで記述しようと思っているのですが、フォントサイズの指定についてアドバイス宜 しくお願い致します。 行ないたいのはtable内に記述した文字サイズの一括変更になります。 私の勉強不足でなければフォントサイズは一括指定出来ないということになるのですが、<div style="font-size:○○;"></div>で囲ってしまえば全体に文字サイズの変更は可能でした。 ただ、この間の<table>には反映されません。 全部のセルに<span style>で指定すれば文字サイズは変更できますが、要領が大きくなってしまいます… セル内のフォントサイズを一括指定する方法などはないのでしょうか?

  • Web文字サイズの指定

    スタイルシートにて、 下記の様にWebの文字サイズを指定しているのですが、 <STYLE TYPE="text/css"> <!-- BODY,TD,TR,CAPTION{ font-size: 10pt ;} <!-- Win:NN6.2、Mac:IE5.x 等の 文字表示を%指定するブラウザの場合、 指定した文字サイズで表示しないのですが、 指定方法が間違っているのでしょうか。 また、上記の方法にて文字サイズが指定できない場合、 他の手段はあるのでしょうか? ご回答よろしくお願いします。

    • 締切済み
    • CSS
  • NNでスタイルシート(フォント指定)使用

    今まではIEでしかページチェックをしていませんでしたが、やはりNNでもチェックしないと…と思ってチェックしてみたところ ひどいありさまでした…。 そんなにひどいレイアウトの崩れなどはなかったのですが、文字が画像の下(画像はCSSで位置指定)とかに隠れてしまったりとか。 フォントの指定は FONT{COLOR:GRAY; FONT-SIZE:12px;} のようにしているのですが、 NNの[表示]-[テキストの拡大]で大きさが変更できてしまいますよね? これを回避するにはどうしたらいいのでしょうか? IEは5.5 NNは7.0 です。(本当はNNは4.0が欲しかったのですが…) よろしくお願いします。

    • ベストアンサー
    • CSS

専門家に質問してみよう