2014-06-26 4 views
1
img.logo { 
    height: auto; 
    width: auto\9; /* ie8 */ 
    left: 50%; 
    margin-top: -250px; 
    margin-left: -134px; 
    position: absolute; 
    top: 50%; 
    resize: both; 

C'est le code que j'utilise. C'est une combinaison de redimensionnement et de centrage, et pourtant c'est seulement centré pour une raison quelconque. J'ai besoin de l'image à l'échelle parce que, comme c'est le cas actuellement, il se chevauche avec un élément supérieur de la page à de très petites tailles de navigateur.Mise à l'échelle d'une image centrée avec la taille de la fenêtre

+0

En fonction du contexte, vous pouvez envisager de définir la résolution d'image basée sur la requête des médias – agrm

+0

Comment les points d'arrêt? Je m'excuse pour toute ignorance, je ne suis pas un codeur par métier. – user3780718

Répondre

0

Vous pouvez essayer d'utiliser les requêtes des médias CSS. Fondamentalement, nous définissons des points d'arrêt en fonction de la largeur de l'écran/de la largeur du navigateur et ajustons les largeurs d'image en conséquence.

img { 
    width: auto; 
    height: auto; 
} 
@media all and (max-width: 600px) { 
    img { width: 500px; } 
} 
@media all and (max-width: 500px) { 
    img { width: 400px; } 
} 
@media all and (max-width: 400px) { 
    img { width: 300px; } 
} 
@media all and (max-width: 300px) { 
    img { width: 200px; } 
} 
@media all and (max-width: 200px) { 
    img { width: 100px; } 
} 

See this example

Espérons que cela peut répondre à vos besoins

EDIT: Vous pouvez même combiner la suggestion ci-dessus avec transform: translateX(-50%) translateY(-50%); de garder l'image centrée en tout temps. Par exemple:

img { 
    position: absolute; 
    left: 50%; 
    top: 50%; 
    width: auto; 
    height: auto; 
    -webkit-transform: translateX(-50%) translateY(-50%); 
    transform: translateX(-50%) translateY(-50%); 
} 
@media all and (max-width: 600px) { 
    ... 
} 
... 

Here's an example

+0

Merci! La mise à l'échelle fonctionne bien ici, mais l'image n'est pas centrée (horizontalement et verticalement). – user3780718

+0

Vous pouvez ajouter ou ajuster plus d'options/propriétés, pas seulement la largeur comme dans l'exemple ci-dessus. Par exemple, vous pouvez utiliser le CSS de votre question comme base, puis ajuster la largeur et les marges/positions en utilisant les requêtes @media pour vous assurer que l'image reste centrée – agrm

+0

Mise à jour de la réponse pour inclure le centrage – agrm

0

Utilisez un% simple pour implémenter la largeur et la hauteur de l'image et le reste prendra automatiquement en charge. Je crois que le chevauchement est dû au fait que l'image essaie de maintenir des proportions avec l'attribut automatique.

Ou bien vous pouvez essayer quelque chose comme ça dans css

img.resize{ 
    width:60%; /* Use either % or px*/ 
    height: auto; 
} 

+0

Le chevauchement se produit lorsqu'il n'y a pas de mise à l'échelle, seul le centrage. Idéalement, la mise à l'échelle empêcherait tout chevauchement, car l'image centrée serait trop petite pour entrer en contact avec l'élément situé au-dessus. Pourtant, j'ai remplacé ce que j'avais pour la largeur avec un pourcentage et l'image déplacée vers la gauche de la page et n'a pas évolué. – user3780718

+0

Une autre façon de résoudre ce problème est d'utiliser la réactivité pour vos images qui utilisent des requêtes média pour différentes plates-formes d'affichage. – Geniusknight

+0

Je pense que votre positionnement nuit à votre image. Essayez de les changer avec une position différente: les attributs. Cochez cette case pour un exemple https://developer.mozilla.org/en-US/docs/Web/CSS/position – Geniusknight

Questions connexes