ภาพพื้นหลังไม่แสดงบน iOS หลังจากเพิ่มไปที่หน้าจอโฮมแล้วเท่านั้น

ฉันมี CSS เช่นนี้:

#thumbnail {
    background-image: url(bla.jpg),
    background-size: cover,
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

มันแสดงผลได้ดีบน iOS Safari และทุกที่ อย่างไรก็ตาม เมื่อฉัน "เพิ่มไปที่หน้าจอหลัก" หน้านั้น รูปภาพจะไม่ปรากฏ

สิ่งที่ฉันลอง (ไม่มีโชค):

  1. ใช้ background-size: contain

  2. การใช้ JavaScript เพื่อ "โหลดแบบขี้เกียจ" ภาพพื้นหลัง

  3. การต่อท้ายแบบไดนามิกเป็น <img> แทนที่จะเป็นภาพพื้นหลังโดยใช้ JavaScript

  4. เพิ่มลงในเอกสาร HTML โดยตรง มันเริ่มแสดง แต่ไม่เป็นไปตามสไตล์ CSS ใด ๆ แม้ว่าฉันจะลองใช้สไตล์ JavaScript และด้วยแอตทริบิวต์ width และ height แล้วก็ตาม (ทำไม?)

  5. ใช้ background-position: top center แทน 50% 50%

  6. การใช้รูปแบบภาพอื่น เช่น .png

  7. การใช้ภาพพื้นหลังกับ ::after องค์ประกอบหลอกดังนี้:

    #thumbnail::after {
        content: '';
        display: block;
        padding-top: 100%;
        background-image: url(...),
        background-size: cover,
        background-repeat: no-repeat;
        background-position: 50% 50%;
    }
    

มันไม่ทำงานอย่างถูกต้อง

ฉันค้นหา StackOverflow และ Google สำหรับปัญหาเดียวกัน ไม่มีใครประสบปัญหาเดียวกันเนื่องจากส่วนใหญ่อ้างถึงปัญหาในเบราว์เซอร์ Safari และคุณสมบัติ CSS ที่ไม่รองรับ (ซึ่งไม่ใช่ปัญหาในกรณีของฉัน)

ไม่มีใครรู้ว่าปัญหาคืออะไรและจะแก้ไขได้อย่างไร?

ปัญหานี้เกิดขึ้น หลังจาก "เพิ่มไปที่หน้าจอหลัก" เท่านั้น มันทำงานได้อย่างสมบูรณ์แบบในเบราว์เซอร์ iOS Safari และเบราว์เซอร์ iOS Chrome


person yqlim    schedule 23.07.2018    source แหล่งที่มา
comment
คุณได้ตรวจสอบสิ่งเหล่านี้แล้ว: stackoverflow.com/questions /17341728/ ... stackoverflow.com/questions/12824099/   -  person Ason    schedule 24.07.2018
comment
@LGSon ใช่ฉันตรวจสอบแล้ว แต่เมื่อ 5 ปีที่แล้วและเป็นเพียงกรณีใน Safari ซึ่งไม่เป็นปัญหาในกรณีของฉัน   -  person yqlim    schedule 25.07.2018


คำตอบ (2)


นี่อาจเป็นปัญหาที่คล้ายกันที่ฉันเคยเจอมาระยะหนึ่งแล้ว

วิธีแก้ปัญหาเดียวที่เราทำได้คือลบเมตาแท็กออกเพื่อให้ "รองรับ apple-mobile-web-app" และอนุญาตให้ผู้ใช้เปิดใน Safari ซึ่งทุกอย่างดูเหมือนจะทำงานได้ตามปกติ

person Iyad    schedule 23.07.2018
comment
นั่นเป็นวิธีหนึ่งอย่างแน่นอน แต่แล้วมันก็เอาชนะจุดประสงค์และประสบการณ์ในการเพิ่มลงในหน้าจอหลัก - person yqlim; 23.07.2018

ลองแทนที่ background-image: url(...) ด้วย background: url(...)

person Ingus    schedule 23.07.2018