hikarunoqiita
@hikarunoqiita (Hikaru)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

html に個別に css を適用させたい(素人質問)

progateで html と css の初歩の初歩を1週して、Railsチュートリアルに進んだ結果、
自分のアプリを作りながら学んだ方が理解が早そう・・・と思い、実際にアプリを作製してみることにしました。
が、当然いきなり苦戦しておりますのでご指導お願いします。

学習用サンプルとしてよく出没する一般的なページとして、
home、help、about の3つのページを、railsチュートリアルを真似て
rails generate controller StaticPages home help about で生成しました。
当然、static_pages_controller と それぞれ3つの view 、その他もろもろが生成されたのですが、
stylesheets は static_pages.scss の1点が生成されました。

【疑問】
教材通りと言えばそれまでなのですが、私が作製しようとしているアプリは中身は元より、フォントやフォントサイズはそれぞれのページによって異なるとした場合に、stylesheets が1点しかなければ全部同じ見た目になってしまう・・・という問題に直面しています。

【試したこと】
progateの教材の中で、htmlに添付の様な表記があります。
スクリーンショット 2021-01-19 19.53.58.png
どうやらこのコードで、どのcssを読み込みに行くのか指定してるんだな・・・ふむふむ。

下が現在の私のツリーです。
スクリーンショット 2021-01-19 19.56.30.png
homeのページにこの教材と同じhtmlをコピペ、static_pages.scss にも教材と同じstylesheet.cssのコードをコピペしてみました。
ただし、私のアプリではstatic_pages.scss というファイル名なので、教材の教えによればhtmlがcssを読み込みに行った時に、そんなcss存在しないんですけど? となり、cssは読み込まれないはずなのですが、教材通りの見た目が成立しています。
static_pages_home.scss や static_pages_help.scss など、ページ毎のcssファイルを自分で作製して、そのファイル名をhtmlのhref以降に記述してあげればそれを適用してくれる・・・と期待しましたがそうもいかない様です。

再三申しますが、本当にド素人なので答える気にもならんわ・・・ってお叱りを受けるかもしれませんが、どうかご指導お願い致します。
長文失礼いたしました。

0

1Answer

下記のような記述がありませんか?

app/assets/stylesheets/application.css
/*
 *= require_tree .
*/

require_tree .によって、app/assets内のすべてのファイルを読み込んでくれます。そのせいで全てのcssファイルが反応しているものと思われますのでこの1行を削除してもらえてら良いかと思います!

0Like

Comments

  1. @hikarunoqiita

    Questioner

    ご回答ありがとうございます。
    require_tree . を削除するとcssを読み込まなくなってしまいました。
    色々試してみましたが解決しなかった為、最終手段としてhtmlを上から少しずつ崩していき、どの段階でcssが適用されなくなるかやってみたところ、
    cssを指定しているはずの<link rel ="~" href ="~"> の行を削除してもcssが適用されていました。
    どうりで、、、今までどれほど別のcssを指定しても反映しないはずです。。。
    これには少し驚きましたが、html内で適用するcssを指定していないのにcssが適用されるのは、
    何か別の仕組みがあるのでしょうか?

Your answer might help someone💌