Verticalement Centre Image Réactive
Je me demandais si il existe un moyen simple à la verticale du centre d'une image réactive.
Veuillez vous reporter à la jsFiddle: http://jsfiddle.net/persianturtle/yawTb/1/
HTML de base:
<img class="mobile-title-size" src="http://zx85.dyndns.org/raphtest/img/title.png" alt="Logo">
CSS de base:
.mobile-title-size {
position: absolute;
top: 2.5%;
left: 6%;
width: 70%;
max-width: 300px;
}
C'est le mobile de l'en-tête qui utilise la même image qui est affichée sur la tablette de bureau et les fenêtres. Depuis que l'image est déjà en cours de chargement, de toute façon, je suis à la recherche d'utiliser cette même image, la redimensionner les petites et alignées à la verticale de sorte que je peux utiliser une image pour toutes les fenêtres.
Le Problème: Sur navigateur redimensionner l'image est plus petite, mais elle n'a pas alignées à la verticale dans le centre.
L'Objectif: Même si la largeur des chevauchements mal dans cet exemple, il n'est pas un problème sur mon site. Le but n'est que de la verticale du centre de l'image en tant que le navigateur est redimensionnée.
Je suis d'accord avec l'aide d'un javascript/jQuery solution mais bien sûr, simple CSS est préféré.
Toute aide est grandement appréciée!
position:relative
, image avec position:absolute
. Puis ajoutez à hauteur fixe et top:50%; margin-top:-height/2
. Enfin adapter aux différentes requêtes de média.Comment puis-je ajouter une hauteur fixe si l'image est sensible?
Pour cela, vous devrez utiliser du JS.
Pouvez-vous me diriger dans la bonne direction?
+1 pour avoir un bien écrit, pensé à la question.
OriginalL'auteur Raphael Rafatpanah | 2013-03-15
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs façons de le faire - purement CSS ou JS-fondé de la méthode.
Mise à jour de réponse
Mise à jour: Avec l'avènement de la CSS transformer l'appui, voici une solution assez élégante pour le positionnement des éléments à l'aide de pur CSS. Avec le balisage:
Pour votre CSS:
Mise À Jour JSFiddle
Vieille réponse
Pour le CSS, vous pouvez construire un fantôme élément dans le conteneur de la
<img>
élément. Chris Coyier ne une excellente écrire sur cette technique. Disons que votre code HTML ressemble à ceci:Alors votre CSS serait:
Fonctionnelle CSS fix peut être vu travailler dans ce violon - http://jsfiddle.net/teddyrised/yawTb/8/
Ou, vous pouvez utiliser un JS basé sur la méthode:
Mais vous devrez utiliser le code CSS suivant:
[Edit]: Pour le JS méthode basée sur l'endroit où vous absolument position de l'élément d'image, vous aurez à indiquer les dimensions de la
.container
élément, ou certains contenus (mais ce genre de défaites le but parce que l'image sera au-dessus du contenu). C'est parce que l'élément de l'image a été retirée de la circulation des documents, et, par conséquent, ses dimensions ne sera pas affecter la taille du conteneur parent.L'exemple de la JS version est ici - http://jsfiddle.net/teddyrised/yawTb/7/
Il ne semble pas que la solution d'activer javascript aide!!!! Regardez cette jsFiddle pour référence: jsfiddle.net/persianturtle/yawTb/5
Correction d'un problème avec le JS - maintenant, c'est de travailler, vérifiée avec un fonctionnel violon jsfiddle.net/teddyrised/yawTb/7. Le CSS fix peut être vu dans ce violon jsfiddle.net/teddyrised/yawTb/8. La raison pour laquelle le CSS fixer cassé est parce que j'ai utilisé accidentellement
vertical-align: center
au lieu devertical-align: middle
😛 mon mauvais. J'ai mis à jour ma réponse pour refléter les modifications.+1 pour vos mises à jour! Merci!!!!
comment voulez-vous faire ce travail dans IE 9?
OriginalL'auteur Terry
La solution que vous avez des oeuvres pour les vieux navigateurs, mais dans un avenir proche (à droite a maintenant environ 80% de la prise en charge du navigateur), vous pouvez le faire, beaucoup plus simple et élégante solution:
OriginalL'auteur Vandervals
Donc, j'ai trouvé quelque chose qui fonctionne exactement comme je le voulais: http://jsfiddle.net/fmwzT/
Le problème est qu'il ne fonctionne qu'avec des fichiers d'amorce de la dernière version 2.3.1 et je n'ai aucune idée de pourquoi (j'ai 2.3.0 sur mon site).
Alors maintenant, j'ai répondu à ma question et soulève une question plus vaste encore, ce qui est à l'origine de ce travail?
Remarque, il utilise le code suivant:
HTML
CSS
REMARQUE: Cela ne fonctionne PAS sans Bootstrap est neweste version 2.3.1.
Je vais poster une question pour voir si quelqu'un sait!
OriginalL'auteur Raphael Rafatpanah