In fact, your background is fixed. The problem is the "viewport" ...
First, let's recapulate why fixed placement does not work
as expected. Safari Mobile uses a "viewport" to display websites.
Imagine a book in front of you. Take a piece of paper, cut one
320 × 416 square, and load the paper with the square open.
in the middle on the book. To read the book, move the paper and position the
hole on the words you want to see. This is exactly what the
Safari's "viewport" is doing. When you touch and drag,
you are moving the "viewport" over the site, which remains static
"below" it.
This causes fixed positioning to become null and void in the
iPhone. An element that has fixed positioning is affixed to the
body
, not viewport
. That is, fixed
is currently
functioning as desired, although we would like it to be
posted to the "viewport".
source: link