2015-10-17 9 views
5

L'immagine scompare quando si riduce a 40% su Firefox. Fino allo zoom del 50%, va bene. Tuttavia al di zoom 40%, svanisce appena: Zoom comparison FirefoxUn'immagine di sfondo ripetuta scompare/disallinea quando si rimpicciolisce

considerando che Chrome l'immagine è ancora visibile ma leggermente disallineata, questo avviene a diversi livelli di zoom: Chrome misalignment

Per una volta Internet Explorer è in realtà la visualizzazione della risultato atteso indipendentemente dallo zoom!

Che cosa fa il tridente in modo diverso rispetto a webkit e gecko e come posso correggerlo?

Qui è tutto il codice in questione:

body { 
 
    background-color: rgba(31, 59, 8, 1); 
 
} 
 
#main { 
 
    z-index: 1; 
 
    position: absolute; 
 
    top: 113px; 
 
    left: 50%; 
 
    width: 900px; 
 
    height: 100%; 
 
    margin-top: 160px; 
 
    background-image: url('http://i.stack.imgur.com/zZCB2.png'); 
 
    background-repeat: repeat-y; 
 
    margin-right: -50%; 
 
    text-align: center; 
 
    transform: translateX(-50%); 
 
} 
 
#main:before { 
 
    content: " "; 
 
    position: absolute; 
 
    left: 0px; 
 
    top: -113px; 
 
    background-image: url('http://i.stack.imgur.com/7DE7i.png'); 
 
    background-repeat: no-repeat; 
 
    width: 900px; 
 
    height: 113px; 
 
} 
 
#main:after { 
 
    content: " "; 
 
    position: absolute; 
 
    left: 0px; 
 
    bottom: -200px; 
 
    background-image: url('http://i.stack.imgur.com/DVJAq.png'); 
 
    background-repeat: no-repeat; 
 
    width: 900px; 
 
    height: 200px; 
 
}
<div id="main"></div>

+2

Quali versioni di Chrome e Firefox stai utilizzando? Non l'ho provato su Windows ma sul mio Mac su Chrome e Firefox, si sta caricando correttamente. – loganfarr

+0

Chrome 43,45,46 e Firefox 38 (e penso che fosse 32?) Hanno tutti mostrato questo comportamento su Windows 8.1. Queste sono versioni piuttosto casuali, tbh, l'ho appena testato ogni volta che aggiornavo il browser; Speravo in una patch, ma il problema è persistito. – jaunt

+1

l'ultimo Firefox sotto w10 non replica il tuo problema. funziona bene Ad ogni modo, anche se in questi giorni i browser funzionano molto meglio di prima, quando si usa px cerco ancora di evitare il più possibile numeri dispari. Si confonde spesso con i layout (nel tuo caso il valore massimo di 113 px) –

risposta

2

Effettuare l'immagine body.png 20px alti o così sarà risolvere il problema. Le immagini ripetute 1px si comportano in modo strano a volte. Dovrebbe aiutare con il ridisegno/sfarfallio mentre l'elemento viene caricato pure.

Inoltre, l'impostazione di "#main: before" per ottenere un massimo di -112px anziché di -113px ha eliminato la linea funky in Chrome quando si esegue lo zoom in avanti (almeno per me).

Spero che questo aiuti.

+0

Mentre una soluzione a 20px è un ottimo approccio, ho in programma di avere oggetti in crescita verticale/restringimento nella pagina e non sarebbe bello avere la pagina che salta in dimensioni. Grazie per il suggerimento con il posizionamento, dato che l'immagine è alta 113 px, causerebbe una sovrapposizione di 1 px, quindi cambierò semplicemente la dimensione dell'immagine. Sono più curioso del motivo per cui ciò non accade in IE, ma nei browser più popolari di me non ne sono la vera soluzione; qualsiasi correzione con una spiegazione è molto apprezzata però :) – jaunt

1

Non sono sicuro, ma i belive se dividi le immagini e fare 3 parti: :: prima (top bianco, con l'ombra di fondo) :: intestazione (scatola rossa) :: dopo (in basso Bianco , con l'ombra superiore della scatola rossa)

Spero che questa risposta aiuti!

+0

Puoi avere ':: before :: before'? L'intestazione viene definita utilizzando un'immagine con il selettore di pseudo classe ':: before', che è preferibile perché consente alle versioni precedenti dei browser di renderlo identico ai browser moderni. – jaunt

+0

Scusate per la risposta in ritardo, ma credo che funzioni. Ora non sono un professionista quando si tratta di questo: D –

Problemi correlati