• ベストアンサー

body内にstyleやscriptの記述

こんにちは、 スマートフォンでも見れるサイトを作っているのですが <body>内に <style>や <script type="text/javascript"> $(function() { を入れてますが、文法的に正しいでしょうか? (bodyの上に書いたほうがいい?) 合IEではみれますが、 ほかのスマートフォンなどでみれるか心配でして。

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

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.3

スクリプトはどこでもいいというか、 document.writeする時はその位置に書き込まれるし 対象のDOMより前に書くと起動時にはそのDOMを読み込めなかったり 動作が変わるので適切な位置に書くべし どこに置いても動作が変わらないものであればどこでもいいけどheadにまとめるのが普通 ただしそのスクリプトの動作が終わるまでページが表示されず固まるから そのあたりは臨機応変に置く場所変えたり外部ファイルなら属性追加したりすること スタイルもどこでもいい 基本どこでもいいけど読み込まれるまでスタイルが適応されないからbodyより上に置くのが無難 ただしscopeスタイルなんかはおいた場所で意味をもってくるから そういうのも必要に応じて適当な場所におけばいい

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

その他の回答 (3)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

 ⇒Another HTML-lint 5( http://www.htmllint.net/html-lint/htmllint.html )  ⇒The W3C Markup Validation Service( http://validator.w3.org/#validate_by_input ) などで文法チェック  仕様書は必ず目を通しましょう。 7.5.1 BODY要素 <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->   ⇒7.5.1 BODY要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#edef-BODY )  %block;( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/sgml/dtd.html#block )についてはリンク先を・・・  link要素は%blockではありませんし、<head></head>内にしかかけません。  ブラウザは、文法が間違っていても表示するようにすることが仕様でも求められていますが、それに期待するのではなく、著者は文法に従わなければなりません。なぜなら、文法に合致してない場合にブラウザが行う独自解釈はブラウザによって異なるからです。

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

<body>要素は、ページ全体をあらわします。 言われているのは<head>要素内のことですよね!。 htmlは、本来文章構造を記述するための、テキストファイルです。 CSSは、ページの装飾を、記述するための、テキストファイル。 Scriptは、ユーザーサイドで、何らかの処理をさせるために記述するものです。 いずれも、<head>要素内に記述する方法と、外部に記述したファイルを読み込むことが可能です。 パソコンで見る場合と、スマートホン、あるいは携帯で見た場合、内容は同じであっても、閲覧者の環境に合わせた、 表示でなければ意味がないことは、ご存知だと思います。 察するところ、ResponsiveLyoutでの記述が必要なのでは?・・・ 下記参照URLのような、Frameworkをお勧めします。

参考URL:
http://twitter.github.com/bootstrap/
すると、全ての回答が全文表示されます。
  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

HP内の、その場所に表示するスクリプトならば、当然BODYですが、 どこにも出てこないものはHEADにまとめたらいかがですか? エラーにはなりませんが

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

関連するQ&A