iOS系でも、他での利用だと1px以下の小数指定でしっかり描画してくれるんですよね。
左のスクショ
赤:width: 0.5px;
青:width: 1px;
※すごく拡大した上でのスクショです
iOS,iPadOSだとfilter
プロパティなんかのblur()
関数使用時の最小値は0
を除くと1px
だったんだねって話です。
iPadからCSSとHTMLでチョコ作成を確認していたのですが、表示がこの有様でした。
すっごいボケてる。下の「ほぼ誤差レベル」がギャグにしか見えない。
ぼかしの指定がfilter:blur(0.3px)
なのですが、目算1pxはボケています。
確認ブラウザがsafariだったので、別ブラウザ(firefox,chrome)も試しましたが表示は変わらず。おそらくOS側の仕様じゃないかなーと推察。 iphoneでも同様。macは未所持の為確認できず。
調べても特に情報が出なかったので備忘録として残しておきます。
ちなみに自前泥での表示はブラウザ差異なくこれでした。windowsも概ね同様。
上記スクリーンショットは同指定内容を確認したipad,androidのもの。
左から
filter: blur(0);
filter: blur(0.3px);
filter: blur(0.6px);
filter: blur(1px);
androidで差が視認できるのに対し、ipadでは0.3px
-1px
間で差異が見受けられない。
この段階で考えられるiOS系のblur()
関数の仕様が下記いずれかとなる。
ちなみに前述したが、結論を先んじて述べると特定値以下のぼかし不可が該当する。
1px
2px
間での比較左から
filter: blur(1px);
filter: blur(1.3px);
filter: blur(1.6px);
filter: blur(2px);
em
での数値指定(検証時の文字サイズ10px
)左から
filter: blur(0);
filter: blur(0.3em);
(実質3px)
filter: blur(0.6em);
(実質6px)
filter: blur(1em);
(実質10px)
em
での数値指定(検証時の文字サイズ10px
)0
以外の差異が見てとれず、0.1em
(実質1px)と同描画となっていると見受けられる。左から
filter: blur(0);
filter: blur(0.03em);
(実質0.3px)
filter: blur(0.06em);
(実質0.6px)
filter: blur(0.1em);
(実質1px)
50px
に変更したうえでの上記と同指定の検証左から
filter: blur(0);
filter: blur(0.03em);
(実質1.5px)
filter: blur(0.06em);
(実質3px)
filter: blur(0.1em);
(実質5px)
calc()
関数使えばワンチャンないかなーと思ったが、当然のようにチャンスなど無い。左から
filter: blur(0);
filter: blur(calc( 1px / 3 ));
(実質0.333...px)
filter: blur(calc( 2px / 3 ));
(実質0.666...px)
filter: blur(clac( 3px / 3 ));
(実質1px)
transform:scale(0.1,0.1);
で縮小表示0.3px
等指定時のandroidと遜色ない表示。左から
filter: blur(0);
filter: blur(3px);
(実質0.3px)
filter: blur(6px);
(実質0.6px)
filter: blur(10px);
(実質1px)
iOS系でも、他での利用だと1px以下の小数指定でしっかり描画してくれるんですよね。
赤:width: 0.5px;
青:width: 1px;
※すごく拡大した上でのスクショです