• 締切済み

@font-faceを別cssで管理できますか?

@font-faceを指定したcssと、 セレクタで上記font-familyを指定したcssを、 別にする事は可能でしょうか? 例)※細かい属性等は省いています ◆hoge.html内の記述 ----------- <link href="font.css"> <link href="style.css"> ----------- ◆font.css内の記述 ----------- @font-face{ font-family:"hoge_font"; src:url("hoge_font.woff"); } ----------- ◆style.css内の記述 ----------- .element{ font-family:"hoge_font"; } ----------- googleフォントでのStandard使用方法例が上記の例と同様なので、 使用できそうな気はするのですが、 接続のイメージだと、font.cssとstyle.cssに、 ほぼ同時にリクエストが飛ぶので、 font.cssよりもstyle.cssが先にダウンロードされると、 style.css内のfont-family:"hoge_font";指定が迷子になり、 該当fontをレンダリングできないのでは、と懸念しています。 この方法で不具合があった、等の情報を教えてください。 よろしくお願い申し上げます。

みんなの回答

noname#206842
noname#206842
回答No.2

基礎をもっと学んでください! >>ほぼ同時にリクエストが飛ぶので、・・・ あなたがそう思っているだけで、実際には、あとから読み込んだCSSが、優先される! ゆえに、記述に気を付ける必要がある! 仕様書等を理解できるまで、熟読してください!

96buibui
質問者

お礼

あ、分かった。私の質問の仕方が凄く悪い。 cssファイル上で指定が出来るか、を質問しちゃってますね、どう見ても。 そんなの指定出来るに決まってますね、本当申し訳ない。 違うんです。DOMとレンダリングまわりの情報が欲しかったんです。 昔のブラウザの挙動って、head内の全ての要素を解釈し終わってツリーに送られてから、body要素を解釈し始めて、レンダリングが始まってたじゃないですか。凄く昔。 でも、少し昔からは、記述順にどんどんリクエストが送られて、リプライ帰ってきたものをどんどんツリー化し、ある程度溜まったらすぐレンダリング、残りのリプライは溜まり次第順次再レンダリング、という挙動に変わってますよね? さらに言うと、外部フォントのレンダリングって、どうもdomready後じゃないと開始されないような見え方をしているじゃないですか。documentreadyでjs動かすと上手く大きさ取れなかったりするし。 で、その際に、サーバ側の何らかの要因で、font.cssのリプライが遅れたとして、再レンダリング時に何らかの問題が生じる事例等があれば教えてください! ……という質問のつもりだったんですが、完全に言葉足らずでした。すみません。 しかも詳しく書いてたら、cssだけじゃなくてfontファイル自体でもリプライ遅れたら同じ状況になる事に気付き、つまりcssファイルが単数でも同じ事起きるなぁ、と気付いてしまいました。じゃあ複数ファイル関係無いじゃん。 くだらない質問に付き合わせてしまってすみません。ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#206842
noname#206842
回答No.1

この記述だと、font.cssを読みそのあとに、style.cssを読み込むということなので、 同じ要素に書かれているcssは、style.cssの方が、優先されます。 CSSの優先権は、後出しじゃんけんと同じです。 この辺の理解ができていないのでは?・・・

96buibui
質問者

お礼

cssが記述順に処理されるのは恐らく理解できると思っていますが、 例えば、font.cssがダウンロードエラーになり、style.cssはダウンロードできた場合、 当然style.css内のfont-family:"hoge_font";は機能しないのでは、と悩んでいるのです。。。 サーバにリクエストが飛ぶタイミングは、ほぼ同時ではないのでしょうか? ダウンロードもほぼ同時に開始されるのではないのでしょうか? それとも、font.cssがどんなに大きなサイズでも、ダウンロード完了後に、 次のstyle.cssのダウンロードが始まるのでしょうか? ブラウザの挙動を見る限りそうは思えないのですが……。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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でフォントが適用されない

    CSSでレイアウトを作成しました。 フォントはMS Pゴシックを指定しています。 CSSを外部にしましたらフォントがMS Pゴシックではなく、明朝っぽくなっています。他のCSSは適用されているのにフォントだけが適用されていません。 ※外部CSSにする前はMS Pゴシックになっています。 html ------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link href="style/style.css" rel="stylesheet" type="text/css" media="all"> <title>無題ドキュメント</title> ------------------------------------------------- 外部CSS ------------------------------------------------- @charset "utf-8"; html { height: 100%; } body { font-family:"MS Pゴシック", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "Osaka"; padding: 0px; margin: 0px; font-size: 0.8em; } ------------------------------------------------- どこが間違っておりますでしょうか? 宜しくお願いします。

    • ベストアンサー
    • HTML
  • CSSの記述

    HTMLで普通のテキストのサイズを固定したいのですが、 うまくいきません。 何が間違っているのでしょうか。 一部のHTMLだけ、リンクの下線をはずしたいので、 HTMLに <LINK REL="stylesheet" HREF="css/style_win.css" TYPE="text/css"> <STYLE TYPE="text/css"> <!-- A { text-decoration: none; font-size: 10pt;} --> </STYLE> と記述。 こちらの方は大丈夫です。 だめなのは外部 css/style_win.css に body { font-size:10pt } と書いたほうがまったく制御していません。 初心者で、本もたくさん調べましたが わかりません。 どうかお願いいたします。

    • ベストアンサー
    • HTML
  • CSSを絶対パスで指定して本当にいいのか?

    質問させて下さい。 CSSを使用しているのですが、今までは相対パスで指定していたのですが、管理の都合上「絶対パスがイイな」と思い始めました。 例:<link href="http://hogehoge.com/css/sample.css" rel="stylesheet" type="text/css"> この様に指定してみました。でも、本当に絶対パスで良いのかなと思い、ググってみたのですがどちらでも良いような旨の記述を多く見かけました。 皆様は、どう思われますでしょうか? また、もう一点質問があります。 http://www.nikolaschka.com/log/2007/08/apache_alias.html 上記サイトにて以下の記述がありました。 <link rel="stylesheet" href="/style.css" type="text/css" />→絶対パス 何故、スラッシュで始まるパスが絶対パスなのでしょうか?ご教示頂ければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 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でも制御されるのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • webフォントの表示ができず困っております。

    お力添えお願いします... webフォントを使用したく思い /* webフォント */ @font-face { font-family: 'typicons'; src: url("typicons.eot"); src: url("typicons.eot?#iefix") format('embedded-opentype'), url("typicons.woff") format('woff'), url("typicons.ttf") format('truetype'), url("typicons.svg#typicons") format('svg'); font-weight: normal; font-style: normal; } .typcn { line-height: 1; width: 1em; height: 1em; } .typcn:before { font-family: 'typicons'; font-style: normal; font-weight: normal; speak: none; display: inline-block; width: 1em; height: 1em; font-size: 1em; text-align: center; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; text-rendering: optimizeLegibility; } .typcn-adjust-brightness::before { content: '\e000'; } /* '' */ .typcn-adjust-contrast::before { content: '\e001'; } /* '' */ .typcn-anchor-outline::before { content: '\e002'; } /* '' */ 上記CSSを読み込ませ、 <p class="typcn-adjust-brightness">説明</p> と書いても、 webフォントが表示されません。 cssにもっと、 いろいろ記述する必要があるのでしょうか?? フォントのパスについては、 間違いありません。 大変恐縮ですが、 よろしくお願いします。

    • 締切済み
    • CSS
  • font-sizeについて

    ブログのレイアウトを私オリジナルのものに変えたくて、今のCSSの記述を読んでいたのですが、よくわからない記述がありました。 /*---------- CSS部分 ----------*/ body { background-color: 背景色; color: 文字色; text-align: center; font-family: フォントの種類; font-size: x-small; voice-family: "\"}\""; voice-family: inherit; font-size: small; } わからない点は1点です。 1、上記でまず、「font-size: x-small;」と指定してあるのですが、最後に「font-size: small;」と指定しなおしています。これはどのような意味があるのですか? なぜ2回も指定しているのでしょうか? すいません、ご教授よろしくお願いします。

    • ベストアンサー
    • CSS
  • CSSの文字指定

    <style type="text/css"> <!--A:link {color:#000055; text-decoration:none; } A:visited {color:#000055; text-decoration:none; } A:hover {color:#ff3300; text-decoration:underline; }--></style> 上部はcssのリンクですが、これに加えて文字のサイズ指定とフォントのフェイス指定もしたいです。 たとえば、MSゴシック,平成角ゴシックなど。 どう加えればよいですか? <style type="text/css"> font:16px "MS Pゴシック",平成角ゴシック,</style>とやってもダメでした と

    • ベストアンサー
    • HTML
  • CSSのフォント設定・指示で、複数のフォント指示IDを組み合わせたIDがつくれないでしょうか?

    CSSですが、フォント記述が面倒で困っております。 記述したものを組み合わせる宣言をして、XHTMLマークアップの方ではその組み合わせ名だけ記述して済むようにできないものでしょうか? または、他の方法で簡素化合理化できる方法があればそれでも結構です。 ご教授いただけましたら幸いです。 【フォントサイズ11px】フォントサイズだけを指定したID 【フォントサイズ12px】フォントサイズだけを指定したID 【フォントサイズ14px】フォントサイズだけを指定したID 【リンクカラー緑,hover赤(下線:緑)】リンクだけを指定したID 【リンクカラー白,hover緑(下線:白)】リンクだけを指定したID 【フォントカラー黒(薄色背景用)】フォントカラーだけを指定したID 【フォントカラー白(濃色背景用)】フォントカラーだけを指定したID 【使用する組み合わせ宣言1】上記IDのどれとどれを組み合わせたかを指定したID 【使用する組み合わせ宣言2】上記IDのどれとどれを組み合わせたかを指定したID というようにして、XHTMLマークアップの方では、例えばテーブルに文章を記述したいなら、テーブルタグに上記の【使用する組み合わせ宣言】のID名だけを記述すればそれでOK、というようにできれば楽になると思うのです。 もっといいのは、CSSで【使用する組み合わせ宣言】のIDは記述必要なく、XHMLの方で組み合わせ宣言できれば最高です。 実際を例に出すと、 ------------------------------------------------------------ /* リンク以外のフォント設定 */ ------------------------------------------------------------ #font_black { text-align:left; color: #FFFFFF; font-size: 11px; line-height: 120%; } ------------------------------------------------------------ /* リンク部分だけのフォント設定 */ ------------------------------------------------------------ #font_link_green a:link { color: #d0ae22; text-decoration: none; border-bottom: 1px solid #d0ae22; } #font_link_green a:visited { color: #d0ae22; text-decoration: none; border-bottom: 1px solid #d0ae22; } #font_link_green a:active { color: #ff0066; text-decoration: none; border-bottom: 1px solid #d0ae22; margin-bottom: 0px; } #font_link_green a:hover { color: #fde582; text-decoration: none; border-bottom: 0px; } とCSSで記述しておき、XHTMLの方では、 <table class="#font_black .font_link_green"> などと記載するような(この書き方はあくまで例です)感じです。 このように、CSSのフォント記述において、何か簡素化・合理化する記述方法はないものでしょうか? 普通にやっていたらソースは増えるし色の変更などであちこち書き直す必要があるしで(置換不能なケースもありますし)面倒この上ないですね。 宜しくお願い致します。

  • 外部CSSでフォントの指定

    自分のサイトの一部のページでは外部CSSで文字の色やフォントなどを設定しているのですが、 FireFoxでは反映されません。IEでは思い通りです。 調べてみて外部CSS、style.cssの改行をなくしたり先頭に@charset "shift_jis";を記述してみました。 そしたらなんとうまく文字色は変わりました。 しかしフォントは英字が"Verdana"にならないのです。 すべて"MS ゴシック"になってしまいます……IE、FireFox両方です。 私はMS ゴシックの英字が好きではないので、Verdanaなってくれればうれしいのですが……。 ちなみに、フォントの部分は  font-family: "Verdana", "Arial", "sans-serif", "MS ゴシック"; こんなふうに記述しています。 @charset "shift_jis";の記述を消して、 .htaccessが使えるサーバーなのでAddType text/css .cssを記述してみましたが変わりません。 どなたか大抵のブラウザで日本語をMS ゴシック、英字をVerdanaにする外部CSSの書き方を教えてください。

    • ベストアンサー
    • CSS