Apakah properti text-align: center;
itu cara yang baik untuk memusatkan gambar menggunakan CSS?
img {
text-align: center;
}
Apakah properti text-align: center;
itu cara yang baik untuk memusatkan gambar menggunakan CSS?
img {
text-align: center;
}
Jawaban:
Itu tidak akan berfungsi karena text-align
properti berlaku untuk memblokir kontainer, bukan elemen inline, dan img
merupakan elemen inline. Lihat spesifikasi W3C .
Gunakan ini sebagai gantinya:
img.center {
display: block;
margin: 0 auto;
}
<div style="border: 1px solid black;">
<img class="center" src ="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a">
</div>
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:
img {
display: block;
margin: 0 auto;
}
Saya menemukan posting ini , dan itu berhasil untuk saya:
img {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
<div style="border: 1px solid black; position:relative; min-height: 200px">
<img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a">
</div>
(Penjajaran vertikal dan horisontal)
Cara lain untuk melakukannya adalah memusatkan paragraf terlampir:
<p style="text-align:center; border:1px solid black"><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a"></p>
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>
<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 menempatkan span
tag di sekitar gambar dan mengatur nya gaya text-align: center
, sebagai begitu:
span.centerImage {
text-align: center;
}
<span class="centerImage"><img src="http://placehold.it/60/60" /></span>
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
).
span
elemen display: inline;
secara default, sehingga berjalan ini ke dalam masalah yang sama seperti menempatkan text-align: center;
pada img
itu sendiri. Anda harus mengatur span
agar display: block;
atau menggantinya dengan div
agar ini berfungsi.
Ada tiga metode untuk memusatkan elemen yang dapat saya sarankan:
Menggunakan text-align
properti
.parent {
text-align: center;
}
<div class="parent">
<img src="https://placehold.it/60/60" />
</div>
Menggunakan margin
properti
Menggunakan position
properti
img {
display: block;
position: relative;
left: -50%;
}
.parent {
position: absolute;
left: 50%;
}
<div class="parent">
<img src="https://placehold.it/60/60" />
</div>
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!
Ini sebuah contoh:
img {
display: block;
position: relative;
left: -50%;
}
.parent {
position: absolute;
left: 50%;
}
<div class="parent">
<img src="http://imgsv.imaging.nikon.com/lineup/lens/zoom/normalzoom/af-s_dx_18-140mmf_35-56g_ed_vr/img/sample/img_01.jpg" />
</div>
img
di dalam dibenarkan div
dalam WebView
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:
<p>Hello the following image is centered</p>
<p class="pic"><img src="https://twimg0-a.akamaihd.net/profile_images/440228301/StackoverflowLogo_reasonably_small.png"/></p>
<p>Did it work?</p>
CSS:
p.pic {
width: 48px;
margin: 0 auto;
}
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.
img{
display: block;
margin-right: auto;
margin-left: auto;
}
Jika Anda menggunakan kelas dengan gambar maka yang berikut akan dilakukan
class {
display: block;
margin: 0 auto;
}
Jika hanya gambar di kelas tertentu yang ingin Anda luruskan tengah maka yang berikut akan dilakukan:
class img {
display: block;
margin: 0 auto;
}
img.class
atau menambahkan img.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:
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
Dan ini akan membuat semua konten Anda di dalam div ini terpusat dengan sempurna.
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 .
auto auto auto auto
dan 0 auto
means 0 auto 0 auto
... dan secara otomatis auto untuk margin bawah dan atas adalah 0
dengan menambahkan 0 atau tidak persis sama dalam hal ini yang membuat Anda menjawab duplikat-n dari yang sudah disediakan
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.
i++
sama dengan i+=1
)
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:
IMG.display {
display: block;
margin-left: auto;
margin-right: auto;
}
Jawaban untuk pertanyaan Anda:
Apakah properti text-align: center; cara yang baik untuk memusatkan gambar menggunakan CSS?
Iya dan tidak.
text-align
properti: dan mungkin Anda tidak akan menyukai efek samping ini.Referensi
Satu lagi cara untuk mengukur - tampilkan:
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 */
}
display: block
dengan margin: 0
tidak bekerja untuk saya, juga tidak membungkus dengan text-align: center
elemen.
Ini solusi saya:
img.center {
position: absolute;
transform: translateX(-50%);
left: 50%;
}
margin: 0 auto;
? Kuncinya adalah pengaturan margin-left
dan margin-right
untuk auto
. margin: 0 auto;
hanyalah jalan pintas untuk itu.
margin: 0 auto
, margin: 0
dan 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)
relative
posisi alih-alih absolute
, 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:
<div class="picture-group">
<h2 class="picture-title">Picture #1</h2>
<img src="http://lorempixel.com/99/100/" alt="" class="picture-img" />
<p class="picture-caption">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus sapiente fuga, quia?</p>
</div>
CSS:
.picture-group {
border: 1px solid black;
width: 25%;
float: left;
height: 300px;
#overflow:scroll;
padding: 5px;
text-align:center;
}
CodePen: https://codepen.io/artforlife/pen/MoBzrL?editors=1100
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:
**<p><img src="https://abcxyz.com/demo/wp-content/uploads/2018/04/1.jpg" alt=""></p>**
Dalam hal ini Anda dapat menambahkan konten CSS seperti ini:
article p img{
margin: 0 auto;
display: block;
text-align: center;
float: none;
}
Menggunakan:
<dev class="col-sm-8" style="text-align: center;"><img src="{{URL('image/car-trouble-with-clipping-path.jpg')}}" ></dev>
Saya pikir ini adalah cara untuk memusatkan gambar dalam kerangka Laravel.