To prawdopodobnie głupie pytanie, ale ponieważ zwykłe sposoby wyśrodkowania obrazu nie działają, pomyślałem, że zapytam. Jak mogę wyśrodkować (poziomo) obraz wewnątrz div pojemnika?
Oto HTML i CSS. Dołączyłem również CSS dla innych elementów miniatury. Działa w kolejności malejącej, więc najwyższy element jest pojemnikiem na wszystko, a najniższy jest we wszystkim.
#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>
Okej, dodałem znaczniki bez PHP, więc powinno być lepiej widoczne. Żadne z tych rozwiązań nie działa w praktyce. Tekstu na górze i na dole nie można wyśrodkować, a obraz powinien być wyśrodkowany w div div kontenera. Kontener ma ukryty przepełnienie, więc chcę zobaczyć środek obrazu, ponieważ zwykle tam jest fokus.
img
podlegają,text-align: center
chybadisplay
że zostały zmodyfikowane.text-align: center
img
on zawarty wa
. Jestem głupi.Odpowiedzi:
Facet CSS sugeruje, co następuje:
Tłumaczenie, być może:
Oto moje rozwiązanie w: http://jsfiddle.net/marvo/3k3CC/2/
źródło
margin: auto
zależą od tego, czy element zawierający ma określoną szerokość.img
myślę, że i tak potrzebowałaby zdefiniowanej szerokości, aby uzyskać jakikolwiek efektauto
.CSS flexbox może to zrobić
justify-content: center
na elemencie nadrzędnym obrazu. Aby zachować proporcje obrazu, dodajalign-self: flex-start;
go.HTML
CSS
Wynik:
Pokaż fragment kodu
źródło
align-items
do wyśrodkowania w pionie. Różne rozwiązania marginesów nie działają dla mnie, ponieważ element, który ma być wyśrodkowany, nie ma atrybutów szerokości i wysokości.align-self
do elementu obrazu takiego jak ten jsfiddle.net/3fgvkurdWłaśnie znalazłem to rozwiązanie poniżej na stronie W3 CSS i odpowiedziało na mój problem.
Źródło: http://www.w3.org/Style/Examples/007/center.en.html
źródło
max-width: 100%; max-height: 100%;
do zmiany rozmiaru obrazu, jeśli ekran jest mniejszy niż obraz, ale w tym przypadku nie jest wyśrodkowany. Wszelkie sugestie dotyczące sposobu wyśrodkowania przy użyciu tych dwóch atrybutówTo też by to zrobiło
źródło
text-align:center;
imargin:0 5px;
? Dodałem;
Najlepszą rzeczą, jaką znalazłem (która wydaje się działać we wszystkich przeglądarkach) w celu wyśrodkowania obrazu lub dowolnego elementu w poziomie jest utworzenie klasy CSS i uwzględnienie następujących parametrów:
CSS
Następnie możesz zastosować utworzoną przez siebie klasę CSS do tagu w następujący sposób:
HTML
Możesz również wstawić CSS w swoich elementach, wykonując następujące czynności:
... ale nie polecałbym pisania CSS inline, ponieważ wtedy musisz wprowadzić wiele zmian we wszystkich tagach, używając centrującego kodu CSS, jeśli kiedykolwiek chcesz zmienić styl.
źródło
Tak właśnie skończyłem:
Co ograniczy wysokość obrazu do 600 pikseli i wyśrodkuje poziomo (lub zmniejszy rozmiar, jeśli szerokość rodzica jest mniejsza) do pojemnika rodzica, zachowując proporcje.
źródło
Mam zamiar wyjść na kończynę i powiedzieć, że to, czego szukasz.
Zauważ, że moim zdaniem przypadkowo pominięto następujące pytanie (patrz komentarz):
Potrzebujesz więc:
http://jsfiddle.net/userdude/XStjX/3/
źródło
Aby wyśrodkować obraz w poziomie, działa to:
źródło
Dodaj to do swojego CSS:
Odwołując się do elementu potomnego, którym w tym przypadku jest obraz.
źródło
Umieść wyrównanie pikseli dla lewej i prawej strony:
źródło
Umieść zdjęcie w środku
newDiv
. Ustaw szerokość zawierającegodiv
tak samo jak obraz. Zastosujmargin: 0 auto;
donewDiv
. To powinno wyśrodkowaćdiv
wnętrze pojemnika.źródło
Użyj pozycjonowania. Poniższe działało dla mnie ... (wyśrodkowane w poziomie i w pionie)
Przy powiększeniu do środka obrazu (obraz wypełnia div):
Bez powiększenia do środka obrazu (obraz nie wypełnia div):
źródło
możesz wyrównać zawartość za pomocą Flex Box z minimalnym kodem
HTML
CSS
js link do skrzypiec https://jsfiddle.net/7un6ku2m/
źródło
Wyśrodkuj obraz w div
źródło
Próbowałem na kilka sposobów. Ale ten sposób działa dla mnie idealnie
źródło
Reaktywny sposób wyśrodkowania obrazu może wyglądać następująco:
źródło
Jeśli musisz to zrobić bezpośrednio (na przykład przy użyciu pola wprowadzania),
oto szybki hack, który zadziałał dla mnie: otoczyć (w tym przypadku link do zdjęcia)
za
div
pomocąstyle="text-align:center"
źródło
źródło
<div>
lub<section>
Zarówno w pionie, jak iw poziomie środek strony dla wszystkich urządzeń, możesz po prostu użyć tego kodu stylu !!!!tak, taki kod działa dobrze
ale dla przypomnienia styl obrazu
więc końcowy kod będzie podobny do przykładu
źródło
Użycie właściwości flex na kontenerze jest właściwą odpowiedzią na możliwość wyśrodkowania zarówno w pionie, jak iw poziomie.
Najważniejsza odpowiedź tutaj NIE działa na centrowanie elementu w pionie, tylko w poziomie.
źródło
źródło