No.3905, No.3904, No.3903, No.3902, No.3901, No.3900, No.3899[7件]
by nishishi. ⌚2023年8月6日(日) 22:59:52〔1年以上前〕 <89文字> 編集
by nishishi. ⌚2023年8月6日(日) 18:36:12〔1年以上前〕 <43文字> 編集
▼SVG画像でのカスタム絵文字が横方向に並ばない場合の対処方法(1)
➡ SVG画像をテキストエディタで開き、1行目にあるwidthとheightの値を書き換える。
例えば、<svg width="100%" height="100%" viewBox="0 0 32 32" ... のように書かれているなら、このようにすると、CSSに関係なくSVG画像は(iOSでも)横並びになってくれます。
ここを、<svg width="32" height="32" viewBox="0 0 32 32" ... のように書き換えます。
ここが、<svg width="100%" height="100%" viewBox="0 0 50 65" ... のように書かれているなら、
ここを、<svg width="50" height="65" viewBox="0 0 50 65" ... のように書き換えます。
▼SVG画像でのカスタム絵文字が横方向に並ばない場合の対処方法(2)
➡ 横幅の最大値も制限するCSSを追記する。
デフォルト設定では、(カスタム絵文字に対して)てがろぐは style="width:auto; height:auto; max-height:2em; vertical-align:middle;" というCSSを挿入します。ここでは高さの最大値は指定されていますが、横幅の最大値は指定されていません。どうやらiOS版のSafariは、(SVG画像にwidth="100%"があるとき)描画空間として横幅100%を確保してしまうっぽいですね。なので、以下のCSSをスキン等に追記すれば解決します。
.cemoji img { max-width:2em; }
これで横幅も最大2文字分に制限されますので、下図の右側の通り、横に並んでくれました。
ただ、これだと、あらゆる絵文字の横幅が 2em になりますので、もし takoyaki だけに限定して適用したいなら、
.ce-takoyaki img { max-width:2em; }
のようにすると良いかもしれません。
個人的には、SVG画像のソースを書き換えた方が良いのではないかと思いますけども。大きく表示させたいケースがある場合には、SVGソースはそのままで、CSSで対処する方が良いかもしれませんが。
(たぶん、Safariの問題なんでしょうね……?)
🍘動作テスト:
➡ここでは、SVG画像のソースを直接書き換えたバージョンを置いています。
➡開発放言では、SVG画像はそのままで、CSSソースを追記して対処しています。
どちらもiOSで確認しても同じように横並びになっていました。
🍘注意:
上記の対策を施しても、iOS側でブラウザのキャッシュをクリアしないと表示に反映されないのでご注意下さい。
iOS版ブラウザにスーパーリロードの仕組みはないっぽいので、例えばここで紹介されている「閲覧履歴とタブを維持したい場合」の方法で操作するのが良いかもしれません。
by nishishi. ⌚2023年8月6日(日) 18:23:32〔1年以上前〕 回答/返信 <1599文字> 編集
by admin. ⌚2023年8月6日(日) 17:51:24〔1年以上前〕 <141文字> 編集
3898
たこ焼きのSVG画像を作った者です
たこ焼きの画像以外でも起こる現象だと解決しないかもしれませんが
原因はSVG画像内にwidthとheightが100%で設定されている為だと思います。
なので、
cssでwidthとheightをpxやemなどでサイズを設定すると横並びに表示できるはずです。
又、
SVG画像をテキストエディタで開き、widthとheightを書き換えることでも大丈夫かと思いますが
試していない為、どうなるか不明です。(申し訳ないです)
by admin. ⌚2023年8月6日(日) 15:37:18〔1年以上前〕 <250文字> 編集