私は數(shù)年前に JavaScript パズル ゲームを作成しましたが、問題なく動(dòng)作しました。 最近、iOS 16.4 と Safari 16.4 のアップデート後、コードが同じように動(dòng)作しなくなり、調(diào)査した結(jié)果、問題が見つかりましたが、修正方法がわかりません。
私のコードでは、次のように 2 つの CSS プロパティ (背景サイズと背景位置) を動(dòng)的に設(shè)定し、(gridSize、xpos、および ypos) の値は事前にコード內(nèi)で設(shè)定されていました。
リーリーSafari 16.4 で li 要素を検査すると、次のことがわかります:
背景サイズ: 300% 自動(dòng); 背景位置: 0%;
背景サイズプロパティと背景位置プロパティに「auto」を追加すると、値は 1 つだけになります (コード內(nèi)でそれぞれを文字列に設(shè)定した場(chǎng)合でも)
したがって、次のようになります:
背景サイズ: 300%; 背景位置: 0% 0%;
この現(xiàn)象は、iOS 16.4 (モバイル Chrome および Safari) および MacOS Safari 16.4 でのみ発生し、他のすべての Android または PC デバイス、およびすべての以前の iOS または Safari バージョンでは完全に動(dòng)作します。
これを修正して Safari 16.4 で適切に動(dòng)作するようにする方法に関する提案はありますか?
編集1:
次のように x 位置と y 位置を別々に設(shè)定してみました:
リーリーしかし、同じ結(jié)果が得られ、「背景位置」には値が 1 つだけ表示されます。
編集2:
次のように値を手動(dòng)で入力しました:
リーリー確認(rèn)すると、依然として 1 つの値が省略され、別の値が殘されています (一部の要素については、他の値は殘されていません):
リーリーそれで、「0%」値が省略されていることに気付きました。どうすればそれを強(qiáng)制的に保持するにはどうすればよいですか;
苦労の末、効果的な解決策を見つけました。
xpos
と ypos
の値に 0.000001 を追加したので、値が 0 の場(chǎng)合、Safari がそれを絶対 0 として扱うのを防ぎます...その後、出來(lái)上がり## #、それは魅力的に機(jī)能します。 強(qiáng)>