ここから本文です

BODY内にstyleタグの設置

katumitchさん

2013/3/222:11:15

BODY内にstyleタグの設置

一般的にCSSはHEAD内で外部CSSを読み込ませるか、HEAD内に直接記述する
ことは認識していてそうしてきたのですが、あるサービスでサイトを作る
ことになり、そのサービスではHEAD内を操作できないことがわかりました。

BODY内でlinkタグも使えないサービスなので、
<div style="padding:7px;"></div>
などと記載すればいいのですが、利便性が悪いので、BODY内に
<style type="text/css"><!--
div{padding : 7px;}
--></style>
としようかと思うのですが、こういう記述は間違っているのでしょうか?

少し検索して調べてみたのですが、事例があまり出てないので
もしかしたらやってはいけないことなのかと悩んでいます。

お分かりの方がいましたらよろしくお願いします。

閲覧数:
1,159
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

グレード

カテゴリマスター

rishorusさん

2013/3/223:08:53

HTML(5) であれば、scoped 属性を付けた style 要素を

<div>
<style scoped>...</style>
....
</div>

のように先頭に置くことで、同じ範囲内にのみ適用されるスタイルを記述することが許されています。もっとも、scoped 属性をサポートしているブラウザはまだほとんどなく、これを付けたことで(まだ、かえって)適用されない可能性もあります。

scoped 属性を付けずに style 要素を body 要素内に置くことは文法違反です。ただ、HTML(5) ブラウザはこういう style 要素を「あたかも head 要素内に置かれたかのように」扱うことが義務づけられていますので、ちゃんとスタイルが適用される可能性は高いと思われます。

まあ、どうしようもないなら、将来的に修正しやすい形になるよう工夫して下さい。

質問した人からのコメント

2013/3/9 09:26:43

ご回答ありがとうございました。
残念ながらHTML5でもなければ@importも使えません。
今回の質問内容が文法違反だとわかったので
どうするかよく検討してみます。
BAは文法違反を教えてくださった方とさせてもらいます。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜1件/1件中

グレード

カテゴリマスター

kiyoto_777さん

2013/3/302:17:22

① BODY内でlinkタグも使えないサービスとは、 @import も使えないのでしょうか?

② 下記の様に使っても linkタグを使ったのと同じだと思います。


<style type="text/css"><!--
@import url(CSSファイル名);--></style>
</style>

③ CSSは<head>~</head>にlinkタグで記述しなければならない規定はない。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

Q&Aをキーワードで検索:

PR
Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

お得情報

Tポイントをプレゼント!
50万ポイント山分けキャンペーン
Yahoo!ショッピングで開催中
20周年企画!ガリバーで査定・お見積り
2,015名様にQUOカードをプレゼント!
平日来店2,000円・土日祝日来店1,000円

その他のキャンペーン

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する