-
ID:TuwmSL さんの質問

メディアクエリーなしでレスポンシブにできる方法がないかと探しています。

ある商用サイトのコンテンツを管理することになりました。作業はホームページの更新などです。サイト自体はレスポンシブ対応してます。ただ、私はCSSファイルへのアクセスやアップロード権限がありません。 そのため、ホームページのコンテンツをレスポンシブにしたくても、メディアクエリーを使うことができません。私のアクセスできるのは限られたページの<body></body>内のみです。

なにかインラインのスタイル指定だけで、レスポンシブ対応のようにできるなどの方法があれば、ぜひ教えてください。

みんなの回答 4 件

ID:0MK7ZQ さんの回答

権限のあるディレクトリの中にcssファイルを置いて、<body>内にそのCSSが読めるように書いたらいいよ。もしくは、<body>直下に<style></style>を書く。
ボディ内に書いてもいいんよ。

ID:TuwmSL

以前別の作業で試してみたらできなかったので、できないのだと思っていましたが、今日試したら、動きました。ただ、前回は私の書き方が悪かったようです。 ありがとうございました。

ID:JKMSlJ さんの回答

最初のコメントがすべてだと思うけど、少し補足すると、body内で外部ドメインのcssを読むこともできるよ。<link>さえ追加できればすべてのcss機能使えるよ。

ID:TuwmSL

この方法はまだ試してないのですが、思いつきもしないことだったので、メモしておきました。今度試してみます。ありがとうございました。

ID:lTO2fO さんの回答

HTML5からは <style> に scoped っていうのが追加された。詳しくはググれ。

ID:ZAWbR6

実用ではないがね。
caniuse.com/#feat=style-scoped

ID:lTO2fO

ページ全体に反映されてしまうかもだが、それだけ気をつければ実質問題ない。バリデータも通るしね。

ID:TuwmSL

scopedというのは、ZAWbR6t91k/xのリンク先にあるように、使えないブラウザが多いようであきらめました。コメントありがとうざいました。

ID:lTO2fO

いや、もう試したようだけどCSSは効くよ。ただ scoped にはならないというだけ。今はこの属性はバリデータ対策という程度。

ID:JKMSlJ

バリデータ通るというのが唯一のメリットで、書いても書かなくても挙動が一緒ってことだよね。要するにメリットほぼなしってことか。

ID:lTO2fO

<style> を <body> 内に書いても違反ではないよ scoped って属性ができたからね、ただし <body> 内に書くには scoped 必須だよ、という事を言いたかっただけ。

ID:f238ew さんの回答

scoped無しでbodyの中にstyleを入れたり、bodyの中にlinkを入れたりするのは厳密には仕様に反してるので、仕様の範囲内でやりたければJavaScriptでhead内にstyleやlinkを突っ込むという方法で。

ID:TuwmSL

head内にアクセスがないので、何とかbody内でできるのがゴールです。でも、仕様に反してるのですね。いずれ、もう少し権限をもらうのがいいのかもしれませんが、とりあえずまだまだスキルがないので、そこを磨いてきます。ありがとうございました。

最終更新日:2016-03-14 (2,081 views)

関連するトピックス

ページ上部に戻る