Provavelmente, essa é uma pergunta estúpida, mas como as formas usuais de alinhamento centralizado de uma imagem não estão funcionando, pensei em perguntar. Como posso alinhar centralmente (horizontalmente) uma imagem dentro de sua div de contêiner?
Aqui está o HTML e CSS. Também incluí o CSS para os outros elementos da miniatura. Ele é executado em ordem decrescente para que o elemento mais alto seja o contêiner de tudo e o mais baixo esteja dentro de tudo.
#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>
Ok, eu adicionei a marcação sem o PHP, por isso deve ser mais fácil de ver. Nenhuma das soluções parece funcionar na prática. O texto na parte superior e inferior não pode ser centralizado e a imagem deve ser centralizada na div de seu contêiner. O contêiner está oculto, então eu quero ver o centro da imagem, pois normalmente é onde está o foco.
img
estão sujeitos atext-align: center
menos quedisplay
tenham sido modificados.text-align: center
img
estava incluído noa
. Eu sou estúpido.Respostas:
The CSS Guy sugere o seguinte:
Então, traduzindo, talvez:
Aqui está a minha solução em: http://jsfiddle.net/marvo/3k3CC/2/
fonte
margin: auto
é dependente do elemento que contém um valor de largura designado.img
acredito que precisaria de uma largura definida de qualquer maneira para ter algum efeitoauto
.O CSS flexbox pode fazer isso com
justify-content: center
o elemento pai da imagem. Para preservar a proporção da imagem, adicione-align-self: flex-start;
a.HTML
CSS
Resultado:
Mostrar snippet de código
fonte
align-items
para centralizar verticalmente. As várias soluções de margem não funcionam para mim porque o elemento a ser centralizado não possui atributos de largura e altura.align-self
ao elemento imagem como esta jsfiddle.net/3fgvkurdAcabei de encontrar esta solução abaixo na página CSS do W3 e ela respondeu ao meu problema.
Fonte: http://www.w3.org/Style/Examples/007/center.en.html
fonte
max-width: 100%; max-height: 100%;
para redimensionar a imagem se a tela for menor que a imagem, mas, neste caso, não está centralizada. Todas as sugestões sobre como centralizar com esses dois atributos aplicadaIsso também faria
fonte
text-align:center;
emargin:0 5px;
? Eu adicionei um;
A melhor coisa que encontrei (que parece funcionar em todos os navegadores) para centralizar uma imagem ou qualquer elemento horizontalmente é criar uma classe CSS e incluir os seguintes parâmetros:
CSS
Você pode aplicar a classe CSS criada à sua tag da seguinte maneira:
HTML
Você também pode alinhar o CSS nos seus elementos, fazendo o seguinte:
... mas eu não recomendaria escrever CSS embutido, porque é necessário fazer várias alterações em todas as suas tags usando o código CSS centralizador, se você quiser mudar o estilo.
fonte
Isto é o que eu acabei fazendo:
O que limitará a altura da imagem a 600px e será centralizado horizontalmente (ou redimensionado se a largura pai for menor) para o contêiner pai, mantendo proporções.
fonte
Vou me expor e dizer que é o que você procura depois.
Observe que o seguinte, acredito, foi acidentalmente omitido na pergunta (consulte o comentário):
Então, o que você precisa é:
http://jsfiddle.net/userdude/XStjX/3/
fonte
Para centralizar uma imagem horizontalmente, isso funciona:
fonte
Adicione isso ao seu CSS:
Apenas referenciando um elemento filho que, nesse caso, é a imagem.
fonte
Coloque um preenchimento de pixel igual para esquerda e direita:
fonte
Coloque a foto dentro de a
newDiv
. Faça a largura do que contenhadiv
o mesmo que a imagem. Apliquemargin: 0 auto;
aonewDiv
. Isso deve centralizar odiv
interior do contêiner.fonte
Use posicionamento. O seguinte funcionou para mim ... (Horizontalmente e Verticalmente Centralizado)
Com o zoom no centro da imagem (a imagem preenche a div):
Sem zoom para o centro da imagem (a imagem não preenche a div):
fonte
você pode alinhar seu conteúdo usando a caixa flexível com o código mínimo
HTML
CSS
js fiddle link https://jsfiddle.net/7un6ku2m/
fonte
Centralizar uma imagem em uma div
fonte
Eu tentei de algumas maneiras. Mas dessa maneira funciona perfeitamente para mim
fonte
Uma maneira responsiva de centralizar uma imagem pode ser assim:
fonte
Se você tiver que fazer isso inline (como ao usar uma caixa de entrada),
aqui está um rápido hack que funcionou para mim: cercar seu (link de imagem neste caso)
em um
div
comstyle="text-align:center"
fonte
fonte
<div>
ou na<section>
vertical e na horizontal para todos os dispositivos, basta usar esse código de estilo !!!!sim, o código como este funciona bem
mas só para lembrar, o estilo da imagem
para que o código final seja como exemplo
fonte
Usar a propriedade flex no contêiner é a resposta certa para poder centralizar verticalmente e horizontalmente.
A resposta principal aqui NÃO funciona para centralizar um item verticalmente, apenas horizontalmente.
fonte
fonte