Itu tidak akan berfungsi karena text-alignproperti berlaku untuk memblokir kontainer, bukan elemen inline, dan imgmerupakan elemen inline. Lihat spesifikasi W3C .
Saya mencoba metode ini dan berhasil! tetapi ketika saya mencoba 2 gambar, itu tidak berhasil, itu hanya menumpuk di atas satu sama lain seperti totem, ada ide bagaimana menyelaraskan 2 gambar pada baris yang sama di tengah?
PatrickGamboa
1
Bagaimana ini tidak didukung oleh W3C? Bisakah Anda memberikan tautan untuk mendukung klaim itu?
Hantu Madara
1
@SecondRikudo: text-alignadalah untuk teks centering, seperti namanya. Untuk elemen blok, margin: 0 auto;adalah pendekatan yang direkomendasikan .
Mrchief
4
@Mrchief Gambar adalah elemen sebaris, bukan blok. text-alignbekerja dengan baik pada mereka.
Hantu Madara
4
Penjelasan itu agak aneh bukan? Anda mengatakan 'perataan teks' berlaku untuk blok dan bukan inline, yang saya percaya, maka Anda benar-benar mengubahnya menjadi elemen blok namun menghindari penggunaan perataan teks. Maksud saya kode Anda berfungsi, tetapi paragraf itu harus sepenuhnya ditulis ulang, imo.
Saya tidak setuju, saya pikir ini menjawab pertanyaan. OP bertanya apakah properti text-align: centermerupakan cara yang baik untuk memusatkan gambar, dan tidak menentukan bahwa properti harus menjadi bagian dari tag img. Jawaban ini menggunakan properti yang dimaksud dalam upaya untuk memberikan solusi (yang berfungsi).
MandM
2
Ini berfungsi untuk saya ketika tampilan: blok, dll tidak.
sayangnya, <center>tidak didukung di HTML5, tapi sial, itu berfungsi.
Ayrat
13
Sebenarnya, satu-satunya masalah dengan kode Anda adalah bahwa text-alignatribut berlaku untuk teks (ya, gambar dihitung sebagai teks) di dalam tag. Anda akan ingin menempatkan spantag di sekitar gambar dan mengatur nya gaya text-align: center, sebagai begitu:
Gambar akan dipusatkan. Menanggapi pertanyaan Anda, ini adalah cara termudah dan paling mudah untuk memusatkan gambar, selama Anda ingat untuk menerapkan aturan pada gambar yang mengandung span(atau div).
Sebuah spanelemen display: inline;secara default, sehingga berjalan ini ke dalam masalah yang sama seperti menempatkan text-align: center;pada imgitu sendiri. Anda harus mengatur spanagar display: block;atau menggantinya dengan divagar ini berfungsi.
Web_Designer
10
Ada tiga metode untuk memusatkan elemen yang dapat saya sarankan:
Metode pertama dan kedua hanya berfungsi jika induk setidaknya selebar gambar. Ketika gambar lebih lebar dari induknya, gambar tidak akan tetap berada di tengah !!!
Tetapi: Metode ketiga adalah cara yang baik untuk itu!
<p>Hello the following image is centered</p><pclass="pic"><imgsrc="https://twimg0-a.akamaihd.net/profile_images/440228301/StackoverflowLogo_reasonably_small.png"/></p><p>Did it work?</p>
CSS:
p.pic {
width:48px;
margin:0auto;}
Satu-satunya masalah di sini adalah bahwa lebar paragraf harus sama dengan lebar gambar . Jika Anda tidak meletakkan lebar pada paragraf, itu tidak akan berfungsi, karena akan menganggap 100% dan gambar Anda akan disejajarkan ke kiri, kecuali tentu saja Anda gunakan text-align:center.
Cobalah biola dan bereksperimenlah dengannya jika Anda mau.
pemburu mimpi, jika Anda mengusulkan cara alternatif memusatkan gambar menggunakan css, maka Anda perlu sedikit memperluas pertanyaan Anda. Anda dapat menjelaskan bagaimana dan mengapa alternatif yang diusulkan ini akan menjadi cara yang lebih baik untuk mencapai tujuan penanya, mungkin termasuk tautan ke dokumentasi yang relevan. Itu akan membuatnya lebih bermanfaat bagi mereka, dan juga lebih bermanfaat bagi pembaca situs lain yang mencari solusi untuk masalah yang sama.
Vince Bowdren
6
Jika Anda menggunakan kelas dengan gambar maka yang berikut akan dilakukan
class{
display: block;
margin:0auto;}
Jika hanya gambar di kelas tertentu yang ingin Anda luruskan tengah maka yang berikut akan dilakukan:
Saya akan mengubah yang paling bawah menjadi img.classatau menambahkan img.classversi juga. Terima kasih untuk ini.
Chuck Savage
6
Pada wadah yang menyimpan gambar, Anda dapat menggunakan CSS 3 Flexbox untuk memusatkan gambar di dalamnya dengan sempurna, baik secara vertikal maupun horizontal.
Anggap Anda memiliki <div class = "container"> sebagai pemegang gambar:
apa dalam konten justify yang bisa digunakan untuk mengatur align di <p> ??
Manjitha teshara
Inilah yang saya inginkan. Terima kasih.
Dionne Kim
5
Solusi paling sederhana yang saya temukan adalah menambahkan ini ke elemen img saya:
style="display:block;margin:auto;"
Sepertinya saya tidak perlu menambahkan "0" sebelum "otomatis" seperti yang disarankan oleh orang lain. Mungkin itu cara yang tepat, tetapi berfungsi cukup baik untuk tujuan saya tanpa "0" juga. Setidaknya di Firefox, Chrome, dan Edge terbaru .
hanya auto mean auto auto auto autodan 0 automeans 0 auto 0 auto... dan secara otomatis auto untuk margin bawah dan atas adalah 0dengan menambahkan 0 atau tidak persis sama dalam hal ini yang membuat Anda menjawab duplikat-n dari yang sudah disediakan
Temani Afif
Komentar Anda menjelaskan mengapa itu berhasil. Bagus. Tapi yang mana dari jawaban sebelumnya yang mengatakan 'otomatis' tanpa '0' juga berfungsi? Apakah fakta itu tidak layak disebut?
Panu Logic
dalam hal ini harus menjadi komentar, karena dalam kasus khusus ini keduanya sama. Saya tidak berpikir kita harus punya jawaban untuk semua nilai-nilai yang setara, dalam hal ini kita dapat menulis: auto, auto auto, auto auto auto, auto auto auto auto, 0 auto 0, 0 auto, 0 auto 0 auto, dan seterusnya ... Anda berpikir masing-masing berhak mendapatkan jawaban yang berbeda? Saya kira tidak.
Temani Afif
Saya tidak akan mengatakan bahwa jika dua segmen CSS yang berbeda menghasilkan hasil akhir yang sama, kedua segmen CSS itu "sama". Output mereka sama tetapi kode-sumbernya tidak sama. Sama seperti pada umumnya Anda dapat menulis sejumlah program berbeda yang menghasilkan keluaran yang sama. Maka penting untuk mengetahui (dan memberi tahu orang-orang yang bertanya) program "setara" mana yang tampaknya paling sederhana dan terpendek untuk ditulis.
Panu Logic
dan semua ini harus ditulis dalam satu jawaban. Itu sebabnya jawaban ini lebih cocok sebagai komentar daripada jawaban yang sama sekali baru. Kita harus menyajikan semua hal yang setara bersama-sama dan tidak menjadikannya fitur terpisah yang mungkin terdengar sama sekali berbeda karena bukan itu yang terjadi [pendapat saya, tidak perlu setuju dengan itu atau membantah yang sebaliknya]. Dan saya tidak berbicara tentang program berbeda yang menghasilkan output yang sama, ini adalah hal yang sangat berbeda karena logikanya mungkin tidak sama. Di sini kita berbicara tentang properti yang sama dan nilai yang sama (seperti i++sama dengan i+=1)
Anda dapat menggunakan text-align: centerpada induk dan mengubah imgke display: inline-block→ karena itu berperilaku seperti elemen teks dan akan dipusatkan jika induk memiliki lebar!
Untuk memusatkan gambar non-latar belakang tergantung pada apakah Anda ingin menampilkan gambar sebagai inline (perilaku default) atau elemen blok.
Kasus inline
Jika Anda ingin mempertahankan perilaku default properti CSS tampilan gambar, Anda harus membungkus gambar Anda di dalam elemen blok lain yang harus Anda atur text-align: center;
Kasus blok
Jika Anda ingin menganggap gambar sebagai elemen blok sendiri, maka text-alignproperti tidak masuk akal, dan Anda harus melakukan ini sebagai gantinya:
Apakah properti text-align: center; cara yang baik untuk memusatkan gambar menggunakan CSS?
Iya dan tidak.
Ya, jika gambar adalah satu-satunya elemen di dalam bungkusnya.
Tidak, jika Anda memiliki elemen lain di dalam pembungkus gambar karena semua elemen anak-anak yang merupakan saudara kandung gambar akan mewarisi text-alignproperti: dan mungkin Anda tidak akan menyukai efek samping ini.
img {
width:60%;/* Or required size of image. */
margin-left:20%/* Or scale it to move image. */
margin-right:20%/* It doesn't matters much if using left and width */}
yang Anda maksud margin: 0 auto;? Kuncinya adalah pengaturan margin-leftdan margin-rightuntuk auto. margin: 0 auto;hanyalah jalan pintas untuk itu.
Web_Designer
1
@Web_Designer saya mencoba margin: 0 auto, margin: 0dan margin: auto, tidak bekerja. Perhatikan bahwa di inspektur Chrome, saat menggunakan margin: 0 auto, menyerang properti dengan tanda seru yang mengatakan invalid property value(atau apa pun artinya itu)
OverCoder
Saya pikir Anda maksudkan "position: absolute;" bukannya "display: absolute;"
WebDevDaniel
Terima kasih @WebDevDaniel untuk menunjukkan kesalahan ketik. Oh, ngomong-ngomong, Anda mungkin ingin menggunakan relativeposisi alih-alih absolute, keduanya bekerja dengan cukup baik.
OverCoder
0
Saya menemukan bahwa jika saya memiliki gambar dan beberapa teks di dalam div, maka saya dapat menggunakantext-align:center untuk menyelaraskan teks dan gambar dalam satu gerakan.
HTML:
<divclass="picture-group"><h2class="picture-title">Picture #1</h2><imgsrc="http://lorempixel.com/99/100/"alt=""class="picture-img"/><pclass="picture-caption">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus sapiente fuga, quia?</p></div>
Terkadang kami langsung menambahkan konten dan gambar pada administrator WordPress di dalam halaman. Ketika kami menyisipkan gambar di dalam konten dan ingin menyelaraskan pusat itu. Kode ditampilkan sebagai:
Jawaban:
Itu tidak akan berfungsi karena
text-align
properti berlaku untuk memblokir kontainer, bukan elemen inline, danimg
merupakan elemen inline. Lihat spesifikasi W3C .Gunakan ini sebagai gantinya:
sumber
text-align
adalah untuk teks centering, seperti namanya. Untuk elemen blok,margin: 0 auto;
adalah pendekatan yang direkomendasikan .text-align
bekerja dengan baik pada mereka.Itu tidak selalu berhasil ... jika tidak, coba:
sumber
Saya menemukan posting ini , dan itu berhasil untuk saya:
(Penjajaran vertikal dan horisontal)
sumber
Cara lain untuk melakukannya adalah memusatkan paragraf terlampir:
sumber
text-align: center
merupakan cara yang baik untuk memusatkan gambar, dan tidak menentukan bahwa properti harus menjadi bagian dari tag img. Jawaban ini menggunakan properti yang dimaksud dalam upaya untuk memberikan solusi (yang berfungsi).Anda dapat melakukan:
<center><img src="..." /></center>
sumber
<center>
tidak didukung di HTML5, tapi sial, itu berfungsi.Sebenarnya, satu-satunya masalah dengan kode Anda adalah bahwa
text-align
atribut berlaku untuk teks (ya, gambar dihitung sebagai teks) di dalam tag. Anda akan ingin menempatkanspan
tag di sekitar gambar dan mengatur nya gayatext-align: center
, sebagai begitu:Gambar akan dipusatkan. Menanggapi pertanyaan Anda, ini adalah cara termudah dan paling mudah untuk memusatkan gambar, selama Anda ingat untuk menerapkan aturan pada gambar yang mengandung
span
(ataudiv
).sumber
span
elemendisplay: inline;
secara default, sehingga berjalan ini ke dalam masalah yang sama seperti menempatkantext-align: center;
padaimg
itu sendiri. Anda harus mengaturspan
agardisplay: block;
atau menggantinya dengandiv
agar ini berfungsi.Ada tiga metode untuk memusatkan elemen yang dapat saya sarankan:
Menggunakan
text-align
propertiMenggunakan
margin
propertiMenggunakan
position
propertiMetode pertama dan kedua hanya berfungsi jika induk setidaknya selebar gambar. Ketika gambar lebih lebar dari induknya, gambar tidak akan tetap berada di tengah !!!
Tetapi: Metode ketiga adalah cara yang baik untuk itu!
Ini sebuah contoh:
sumber
img
di dalam dibenarkandiv
dalamWebView
dengan injeksi CSS. Terima kasih!Hanya jika Anda perlu mendukung versi Internet Explorer kuno.
Pendekatan modern dilakukan
margin: 0 auto
di CSS Anda.Contoh di sini: http://jsfiddle.net/bKRMY/
HTML:
CSS:
Satu-satunya masalah di sini adalah bahwa lebar paragraf harus sama dengan lebar gambar . Jika Anda tidak meletakkan lebar pada paragraf, itu tidak akan berfungsi, karena akan menganggap 100% dan gambar Anda akan disejajarkan ke kiri, kecuali tentu saja Anda gunakan
text-align:center
.Cobalah biola dan bereksperimenlah dengannya jika Anda mau.
sumber
sumber
Jika Anda menggunakan kelas dengan gambar maka yang berikut akan dilakukan
Jika hanya gambar di kelas tertentu yang ingin Anda luruskan tengah maka yang berikut akan dilakukan:
sumber
img.class
atau menambahkanimg.class
versi juga. Terima kasih untuk ini.Pada wadah yang menyimpan gambar, Anda dapat menggunakan CSS 3 Flexbox untuk memusatkan gambar di dalamnya dengan sempurna, baik secara vertikal maupun horizontal.
Anggap Anda memiliki <div class = "container"> sebagai pemegang gambar:
Maka sebagai CSS Anda harus menggunakan:
Dan ini akan membuat semua konten Anda di dalam div ini terpusat dengan sempurna.
sumber
Solusi paling sederhana yang saya temukan adalah menambahkan ini ke elemen img saya:
Sepertinya saya tidak perlu menambahkan "0" sebelum "otomatis" seperti yang disarankan oleh orang lain. Mungkin itu cara yang tepat, tetapi berfungsi cukup baik untuk tujuan saya tanpa "0" juga. Setidaknya di Firefox, Chrome, dan Edge terbaru .
sumber
auto auto auto auto
dan0 auto
means0 auto 0 auto
... dan secara otomatis auto untuk margin bawah dan atas adalah0
dengan menambahkan 0 atau tidak persis sama dalam hal ini yang membuat Anda menjawab duplikat-n dari yang sudah disediakanauto
,auto auto
,auto auto auto
,auto auto auto auto
,0 auto 0
,0 auto
,0 auto 0 auto
, dan seterusnya ... Anda berpikir masing-masing berhak mendapatkan jawaban yang berbeda? Saya kira tidak.i++
sama dengani+=1
)Cukup ganti induk induk :)
Coba yang ini pada properti induk:
sumber
Anda dapat menggunakan
text-align: center
pada induk dan mengubahimg
kedisplay: inline-block
→ karena itu berperilaku seperti elemen teks dan akan dipusatkan jika induk memiliki lebar!sumber
Saya akan menggunakan div untuk memusatkan menyelaraskan gambar. Seperti dalam:
sumber
Jika Anda ingin mengatur gambar sebagai latar belakang, saya punya solusi:
sumber
Untuk memusatkan gambar non-latar belakang tergantung pada apakah Anda ingin menampilkan gambar sebagai inline (perilaku default) atau elemen blok.
Kasus inline
Jika Anda ingin mempertahankan perilaku default properti CSS tampilan gambar, Anda harus membungkus gambar Anda di dalam elemen blok lain yang harus Anda atur
text-align: center;
Kasus blok
Jika Anda ingin menganggap gambar sebagai elemen blok sendiri, maka
text-align
properti tidak masuk akal, dan Anda harus melakukan ini sebagai gantinya:Jawaban untuk pertanyaan Anda:
Iya dan tidak.
text-align
properti: dan mungkin Anda tidak akan menyukai efek samping ini.Referensi
sumber
Satu lagi cara untuk mengukur - tampilkan:
sumber
Gunakan ini untuk
img
CSS Anda :sumber
display: block
denganmargin: 0
tidak bekerja untuk saya, juga tidak membungkus dengantext-align: center
elemen.Ini solusi saya:
translateX
didukung oleh sebagian besar browsersumber
margin: 0 auto;
? Kuncinya adalah pengaturanmargin-left
danmargin-right
untukauto
.margin: 0 auto;
hanyalah jalan pintas untuk itu.margin: 0 auto
,margin: 0
danmargin: auto
, tidak bekerja. Perhatikan bahwa di inspektur Chrome, saat menggunakanmargin: 0 auto
, menyerang properti dengan tanda seru yang mengatakaninvalid property value
(atau apa pun artinya itu)relative
posisi alih-alihabsolute
, keduanya bekerja dengan cukup baik.Saya menemukan bahwa jika saya memiliki gambar dan beberapa teks di dalam
div
, maka saya dapat menggunakantext-align:center
untuk menyelaraskan teks dan gambar dalam satu gerakan.HTML:
CSS:
CodePen: https://codepen.io/artforlife/pen/MoBzrL?editors=1100
sumber
Terkadang kami langsung menambahkan konten dan gambar pada administrator WordPress di dalam halaman. Ketika kami menyisipkan gambar di dalam konten dan ingin menyelaraskan pusat itu. Kode ditampilkan sebagai:
Dalam hal ini Anda dapat menambahkan konten CSS seperti ini:
sumber
Menggunakan:
Saya pikir ini adalah cara untuk memusatkan gambar dalam kerangka Laravel.
sumber
ini akan membuat pusat gambar secara vertikal dan horizontal
sumber