C'est probablement une question stupide, mais comme les méthodes habituelles d'alignement central d'une image ne fonctionnent pas, j'ai pensé que je demanderais. Comment puis-je centrer (horizontalement) une image à l'intérieur de sa div conteneur?
Voici le HTML et le CSS. J'ai également inclus le CSS pour les autres éléments de la vignette. Il s'exécute dans l'ordre décroissant, donc l'élément le plus élevé est le conteneur de tout et le plus bas est à l'intérieur de tout.
#thumbnailwrapper {
color: #2A2A2A;
margin-right: 5px;
border-radius: 0.2em;
margin-bottom: 5px;
background-color: #E9F7FE;
padding: 5px;
border: thin solid #DADADA;
font-size: 15px
}
#artiststhumbnail {
width: 120px;
height: 108px;
overflow: hidden;
border: thin solid #DADADA;
background-color: white;
}
#artiststhumbnail:hover {
left: 50px
}
<!--link here-->
<a href="NotByDesign">
<div id="thumbnailwrapper">
<a href="NotByDesign">
<!--name here-->
<b>Not By Design</b>
<br>
<div id="artiststhumbnail">
<a href="NotByDesign">
<!--image here-->
<img src="../files/noprofile.jpg" height="100%" alt="Not By Design" border="1" />
</a>
</div>
<div id="genre">Punk</div>
</div>
D'accord, j'ai ajouté le balisage sans PHP dans donc devrait être plus facile à voir. Aucune des deux solutions ne semble fonctionner dans la pratique. Le texte en haut et en bas ne peut pas être centré et l'image doit être centrée dans sa division conteneur. Le conteneur a un débordement caché, donc je veux voir le centre de l'image car c'est normalement là que se trouve la mise au point.
img
sont soumis àtext-align: center
moins que leurdisplay
a été modifié.text-align: center
img
était enfermé dans lea
. Je suis stupide.Réponses:
Le CSS Guy suggère ce qui suit:
Donc, traduire, peut-être:
Voici ma solution dans: http://jsfiddle.net/marvo/3k3CC/2/
la source
margin: auto
dépend de l'élément contenant ayant une valeur de largeur désignée.img
je pense qu'il faudrait de toute façon une largeur définie pour avoir un effetauto
.CSS flexbox peut le faire avec
justify-content: center
l'élément parent de l'image. Pour conserver le rapport hauteur / largeur de l'image, ajoutez-align-self: flex-start;
y.HTML
CSS
Production:
Afficher l'extrait de code
la source
align-items
pour centrer verticalement. Les différentes solutions de marge ne fonctionnent pas pour moi car l'élément à centrer n'a pas d'attributs largeur et hauteur.align-self
à l'élément image comme ceci jsfiddle.net/3fgvkurdJe viens de trouver cette solution ci-dessous sur la page CSS W3 et elle a répondu à mon problème.
Source: http://www.w3.org/Style/Examples/007/center.fr.html
la source
max-width: 100%; max-height: 100%;
pour redimensionner l'image si l'écran est plus petit que l'image, mais dans ce cas, il n'est pas centré. Toutes les suggestions sur la façon de centrer avec ces deux attributs appliquésCela le ferait aussi
la source
text-align:center;
etmargin:0 5px;
? J'ai ajouté un;
La meilleure chose que j'ai trouvée (qui semble fonctionner dans tous les navigateurs) pour centrer une image, ou n'importe quel élément, horizontalement est de créer une classe CSS et d'inclure les paramètres suivants:
CSS
Vous pouvez ensuite appliquer la classe CSS que vous avez créée à votre balise comme suit:
HTML
Vous pouvez également intégrer le CSS dans vos éléments en procédant comme suit:
... mais je ne recommanderais pas d'écrire CSS en ligne car vous devez alors effectuer plusieurs modifications dans toutes vos balises en utilisant votre code CSS de centrage si vous souhaitez changer le style.
la source
C'est ce que j'ai fini par faire:
Ce qui limitera la hauteur de l'image à 600 pixels et centrera horizontalement (ou redimensionnera si la largeur du parent est plus petite) sur le conteneur parent, en conservant les proportions.
la source
Je vais sortir sur un membre et dire que ce qui suit est ce que vous recherchez.
Remarque, je crois que ce qui suit a été accidentellement omis dans la question (voir commentaire):
Vous avez donc besoin de:
http://jsfiddle.net/userdude/XStjX/3/
la source
Pour centrer une image horizontalement, cela fonctionne:
la source
Ajoutez ceci à votre CSS:
Il suffit de référencer un élément enfant qui, dans ce cas, est l'image.
la source
Mettez un remplissage égal en pixels pour la gauche et la droite:
la source
Mettez l'image à l'intérieur a
newDiv
. Rendre la largeur du contenantdiv
identique à l'image. Appliquermargin: 0 auto;
aunewDiv
. Cela devrait centrer l'div
intérieur du conteneur.la source
Utilisez le positionnement. Ce qui suit a fonctionné pour moi ... (Centré horizontalement et verticalement)
Avec zoom au centre de l'image (l'image remplit la div):
Sans zoom au centre de l'image (l'image ne remplit pas la div):
la source
vous pouvez aligner votre contenu en utilisant une boîte flexible avec un code minimum
HTML
CSS
lien js fiddle https://jsfiddle.net/7un6ku2m/
la source
Centrer une image dans un div
la source
J'ai essayé plusieurs façons. Mais cette façon fonctionne parfaitement pour moi
la source
Une manière réactive de centrer une image peut être comme ceci:
la source
Si vous devez le faire en ligne (comme lors de l'utilisation d'une boîte de saisie),
voici un hack rapide qui a fonctionné pour moi: entourez votre (lien d'image dans ce cas)
dans un
div
avecstyle="text-align:center"
la source
la source
<div>
ou à la<section>
fois verticalement et horizontalement de la page pour tous les appareils, vous pouvez simplement utiliser ce code de style !!!!oui, le code comme celui-ci fonctionne bien
mais juste pour te rappeler le style de l'image
de sorte que le code final ressemble à l'exemple
la source
L'utilisation de la propriété flex sur le conteneur est la bonne réponse pour pouvoir centrer verticalement ET horizontalement.
La meilleure réponse ici ne fonctionne PAS pour centrer un élément verticalement, juste horizontalement.
la source
la source