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

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

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

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

CSS

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

Q&A

解決済

1回答

1914閲覧

【Sass】背景画像を複数設定したい

退会済みユーザー

退会済みユーザー

総合スコア0

Sass

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

CSS

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

0グッド

0クリップ

投稿2018/12/18 08:36

Sass初心者です。
今までCSSでしか書いたことがなく、Sass(scss)の書き方も解るようになりたいと勉強中です。

###実現したいこと
1.複数のボックスの上部にラインの装飾を設定する
2.一部のボックスにはアイコンも設定する

イメージ説明

ボックスの上部のラインをbackgroundで設定しています。
複数のボックスに設定したいので、@mixinで定義しました。

scss

1@mixin line { 2 background: url(../images/line.png) repeat-x; 3} 4 5.box01 { 6 @include line; 7} 8 9.box02 { 10 @include line; 11} 12 13.box03 { 14 @include line; 15} 16

しかし、.box03だけアイコンも表示したく、こちらもbackgroundで設定したいです。
(訳あって擬似要素などでは設定したくありません)

今までSassを使わずに書いていたときは
下記のように、値をカンマで区切って2つ画像を設定していました。

css

1.box03 { 2 background: url(../images/line.png) repeat-x, url(../images/icon.png) no-repeat right 20px center; 3}

なので、Sassでもコンパイルした後に上記のような状態になるようにしたいと考えているのですが、
どのように記述したらよいのか分かりません。

@mixinでラインの設定だけしていますが、
これにアイコンも追加するような記述はできるのでしょうか?

効率のよい記述のしかたがありましたら教えていただきたいです。
どうぞよろしくお願いいたします。

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

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

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

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

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

x_x

2018/12/18 08:57

プロパティ値が違うので、lineは使わずに書いたらいいのではないのですか? できない理由があれば追記してください。
退会済みユーザー

退会済みユーザー

2018/12/18 09:46

できない理由はないのですが、 ラインの設定を定義してあるので、それを読み込んだ上で アイコンの設定もできたら便利だなと思いまして… 何か他の関数なども使えば実現できるのだろうかと思い、質問いたしました。 ないようであれば、諦めてlineを使わずに書きたいと思います…。
guest

回答1

0

ベストアンサー

自分はやりませんが、あえてやるならif文で分岐させてみるとか?

SCSS

1@mixin line($flag: false) { 2 @if $flag == true { 3 background: url(../images/line.png) repeat-x, url(../images/icon.png) no-repeat right 20px center; 4 } 5 @else { 6 background: url(../images/line.png) repeat-x; 7 } 8} 9 10.box01 { 11 @include line; 12} 13 14.box02 { 15 @include line; 16} 17 18.box03 { 19 @include line(true); 20}

投稿2018/12/18 10:26

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2018/12/19 00:51

回答ありがとうございます。 やはり@mixinを使わずに書くほうがシンプルかもしれませんが、 このような書き方もあるのかと参考になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問