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

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

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

SVGは、XMLを基盤とした2Dベクター画像記述言語。画像を線・面といった図形の集合体として扱うベクター画像のため、環境に適した表示が可能です。アニメーション機能もサポートされており、簡単なインタラクティブコンテンツ作成もできます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

2回答

472閲覧

svg画像に色を加えた場合についてです

newyee

総合スコア213

SVG

SVGは、XMLを基盤とした2Dベクター画像記述言語。画像を線・面といった図形の集合体として扱うベクター画像のため、環境に適した表示が可能です。アニメーション機能もサポートされており、簡単なインタラクティブコンテンツ作成もできます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

1クリップ

投稿2018/10/03 12:18

svg画像について、ご解説をお願いしたいことがあります。

html

1 2<!DOCTYPE html> 3<html lang="ja"> 4<head> 5 <meta charset="utf-8"> 6 <link rel="stylesheet" href="normalize.css"> 7 <link rel="stylesheet" href="github.css" /> 8 9</head> 10<body> 11 <header> 12 <div class="header_menu header_flex"> 13 <svg class="githubIcon" viewBox="0 0 16 16" version="1.1" height="32" width="32" role="img"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> 14 <form action="#" method="get"> 15 <input id="serch_box" name="serch" placeholder="Serch or jump to..." type="txt" /> 16 </form> 17 <ul class="header_link header_flex flex_items_center"> 18 <li><a href="#">Pull request</a></li> 19 <li><a href="#">Issues</a></li> 20 <li><a href="#">Marketplace</a></li> 21 <li><a href="#">Explore</a></li> 22 </ul> 23 <div> 24 25 <ul class="user_nav"> 26 <li><a href="#"><img src="" /></a></li> 27 <li><a href="#"><img src="" /></a></li> 28 <li><a href="#"><img src="" /></a></li> 29 </ul> 30 </div> 31 </div> 32 33 </header> 34 35 36 37</body> 38 39</html> 40

css

1*{ 2 box-sizing:border-box; 3} 4svg { 5 fill: currentColor; 6 } 7 8.githubIcon{ 9 color:#fff; 10 } 11 12header{ 13 background-color:black; 14} 15.header_flex{ 16 display:flex; 17 justify-content:flex-start; 18} 19.flex_items_center{ 20 display:flex; 21 justify-content:space-around;; 22} 23.header_link{ 24 list-style:none; 25} 26.user_nav{ 27 list-style:none; 28} 29

上記のコードを実行した画像は以下になります。
イメージ説明
そして、上記CSSのコードの、「svg {fill: currentColor;}」ここの部分を削除し、実行したら、以下のようになりました。
イメージ説明
さらに、「「svg {fill: currentColor;}」」ここの部分を削除し、新たに、「.githubIcon{background-color:#fff;}」を追加し、実行した画像は以下の通りです。
イメージ説明
実行した際の、猫のアイコンの画像の色の違いに関して、お聞きしたいのですが、デフォルトでは、真ん中の猫の画像が白で背景が黒の状態なのですが、それに、一枚目の画像のように、色を加えた場合は、猫の部分が黒で背景が白となります。一枚目の画像では、白色を加えているだけにもかかわらず、何故色が逆になるのでしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

猫の部分には色はついてません。背景色が見えています。
白黒で、githubのロゴだから余計にわかりづらい気もします。(中抜きされてるから)

こちらにfill:currentColor;をつけていないものと、fill:currentColor;をつけてcolor:#カラーコード;で色を付けたものをそれぞれ背景色を変えて出るようにしてみました。
なんとなく理解していただければ。
https://codepen.io/dit4410/pen/bmpwYQ

投稿2018/10/04 01:36

dit.

総合スコア3235

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

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

newyee

2018/10/05 05:37

ご丁寧に、ご回答くださりありがとうございます。 返信遅くなってしまい、すみません。 「中抜き」されている、というポイントでピンときたのですが、「fill:currentColor;」で色を指定した場合、色が付くのは中抜きされている猫の部分ではなく、外側の部分であって、「background-color」を指定した場合ですと、その背景色が中抜きされている部分に映る為、例えば、「fill:currentColor」に白を指定し、「background-color」に黒をしていした場合は、背景色の黒が中抜きされている部分に映り、指定した色が外側に反映される為、外側が白色になり、内側の猫の部分が黒になる、ということでしょうか?
dit.

2018/10/05 06:41

おそらくその解釈で大丈夫です。 回答につけたサンプルを少し更新しました。 グラデ背景を付けたところを見ていただくとわかりやすいかも? 丸よりも外の部分と猫の部分は透明です。 黒い画用紙を丸く切り、その中を猫型にくりぬいたものがfill:currentColor;やfill:#xxx;、color:#xxx;を指定していない状態のSVGです。 fill:currentColor;とcolor:#xxx;はgithubのサイトがそのような記述をしていたので前回の回答に記載してしまいました。 色を変えるだけならSVGにfill:#xxx;でできます。 余計に混乱させてしまいましたね。
newyee

2018/10/05 07:24

ご丁寧に教えて頂き、ありがとうございます。 codepenのサイトも参考になりました。ありがとうございました。
guest

0

投稿2018/10/03 12:57

hectopascal1013

総合スコア466

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問