angular / angular/components

MatIcon `inline` doesn't work with `svgIcon`

オープン
#16,483 コメント 3 件 リアクション 11 件 担当者 0 名 GitHub で見る
area: material/icon P3
主要言語
TypeScript
スター
25k
フォーク
6.8k
平均マージ
1日 8時間
マージ済み PR(30日)
91

説明

#### Reproduction

https://stackblitz.com/edit/angular-s9aswa

#### Expected Behavior

Loading an icon via SVG and displaying it `inline` should make its size proportionate to the text.

#### Actual Behavior

The size of the icon did not change and the icon's position broke.

I think it has to do with how the SVG has `width: 100%; height: 100%` applied to it:

https://github.com/angular/components/blob/738f10c9931642469f3699d4c8ff50b1e66a960e/src/material/icon/icon-registry.ts#L525

Maybe it could change to `1em` for `inline` icons?

Alternatively if `inline` is not supported for `svgIcon` then it should be documented.

Note: I had to inline the SVG as base64 because the original StackBlitz is broken - I will open another issue for this.

#### Environment

- Angular: Docs Stackblitz (8.1.0)
- CDK/Material: Docs Stackblitz (8.0.2)
- Browser(s): Chrome 75
- Operating System (e.g. Windows, macOS, Ubuntu): Windows 10

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start with the linked StackBlitz reproduction, then inspect src/material/icon/icon-registry.ts around line 525, where SVG sizing is applied. Confirm how inline SVG icons behave with svgIcon and establish whether the final result should make the icon proportionate to surrounding text or document that combination as unsupported.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。