Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8764

相対パスでimageファイルを参照できなかったのでimage-urlを使ってみた

$
0
0
実現したいこと ヘッダーとフッターの背景に画像を挿入したい。 こんな感じ↓ 開発環境 OS:macOS Big Sur 11.2.2 Ruby:2.6.5 Ruby on Rails:6.0.0 Sass:3.7.4 テキストエディタ:Visual Studio Code つまづいたこと ヘッダー/フッターのCSSセレクタに app/assets/stylesheets/style.css background-image: url("../images/checks.jpg"); と指定して、「checks.jpg」をapp/assets/imagesの配下に格納。 が・・・ページを読み込むと404 Not Foundエラーに。 試しに他の画像ファイルに置き換えてみたが変化なし。 「checks.jpg」をapp/assets/stylesheets配下に(cssファイルと同じところに)置いてみると正しく表示される。 パスが誤っているのかと思い、VScodeで参照して確かめてみるが正しい。しかし404エラーを辿ってみると全然違うところを参照し行っている模様。 少し前に誤ってapp/assets配下のファイル構成をいじくってしまったのが悪さをしているのか・・・結局原因はわからず。 解決方法 SCSSのimage-urlに置き換えた。 学習中のカリキュラムの中にしれっと「image-url」という記述があったので調べてみた。 SaasというCSSを拡張し扱いやすくしたものがあり、image-urlを初めとした様々なヘルパーを利用できる。 利用したrailsのバージョンではSaasがプリセットされていたので早速CSSファイルからSCSSファイルへ拡張子を変更し(Saasの中でもよりCSSに近い書き方ができるSCSSを選択)、以下のようにコードを変更。 app/assets/stylesheets/style.scss background-image: image-url("checks.jpg"); すると問題なく画像が読み込みできた。 指定している場所としては同じなので不思議だが、やり方は一つではないということで勉強になった。 Saasの解説はこちらを参考にしました

Viewing all articles
Browse latest Browse all 8764

Trending Articles