質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

4047閲覧

scssをcssにコンパイルする時の画像の参照場所について

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/07/25 07:36

編集2019/07/25 08:41

scssファイルに画像を使っていて、相対パスでURLが書いてあります。
scssファイルをcssファイルにコンパイルする時、
両ファイルの場所の階層が違っている場合とします。
コンパイルした時にscssファイルに書かれた画像のパスは
cssファイルの場所に合わせて自動的に変換されるのでしょうか?
それともそのままなのでしょうか?だとすれば最初から絶対パスで書く必要がありますか?
宜しくお願い致します。

【追記】
自分で試したところ、パスはそのままでした。
階層が違う部分をいちいち後から書き換えずに済むよう、自動で変換してくれる方法などはないものなのでしょうか?
以下の手順でSassを使っています。

1.Node.jsをダウンロード
2.コマンドプロンプトで操作
・package.jsonを作成したいフォルダに作成「$ npm init -y」
・gulpをローカルインストール「$ npm install -D gulp」
・gulp-sassをローカルインストール「$ npm install -D gulp-sass」
・package.jsonと同じ場所にgulpfile.jsを作る(中に以下のタスクを入力)

var gulp = require('gulp'); var sass = require('gulp-sass'); var plumber = require('gulp-plumber'); var plumber = require('gulp-notify'); // Sassのコンパイル gulp.task('sass', function () { return gulp.src('./sass/**/*.scss') .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")})) .pipe(sass({outputStyle: 'expanded'})) .pipe(gulp.dest('./css')); }); //完了のお知らせ gulp.task('log', () => { return console.log("DONE") }); // 自動ウォッチ化 gulp.task('sass:watch', function () { gulp.watch('*.scss', gulp.series('sass','log')); });

以上です。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/07/25 08:46 編集

ご指摘ありがとうございます。追記しましたので宜しくお願い致します。
guest

回答2

0

ベストアンサー

パスをSassの変数に入れて管理するのではダメなんですか?

Sass

1$pathA = "/path/to/dirctoryA"; 2$pathB = "/path/to/dirctoryB"; 3 4.a { 5 background: url("#{$path1}/a.jpg"); 6} 7.b { 8 background: url("#{$path2}/b.jpg"); 9} 10

投稿2019/07/26 11:16

mksk

総合スコア247

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/07/29 04:47

ご返信遅れました。ご回答ありがとうございます。 そのやり方だと万が一パスに変更があった場合、一括変更できますね! 思いつきませんでした。 大変勉強になりました。ありがとうございます!
guest

0

投稿主です。
とりあえずパスはcssの場所に合わせて書けばいいですね。
後から変更があった時のためと、入力時短のために
ベストアンサーのやり方でパスを管理します。

投稿2019/07/29 04:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問