de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 JackMahoney
JackMahoney
Question

Pusat sebuah gambar besar yang tidak diketahui dalam ukuran yang lebih kecil div dengan overflow hidden

Saya ingin pusat img di dalam div tanpa javascript dan tanpa latar belakang-gambar.

Berikut ini adalah beberapa contoh kode

<div> 
    <img src="/happy_cat.png"/> 
</div>
  • I don't tahu ukuran img dan itu harus bisa melebihi lebar dari orang tua
  • I don't tahu lebar div induk (100%)
  • Orang tua div tetap tinggi
  • Gambar lebih besar dari orang tua dan orang tua memiliki overflow:hidden
  • Hanya perlu dukungan browser modern

Yang diinginkan. (Abaikan kekeruhan dll, hanya perhatikan posisi).

Aku tahu hal ini dapat dilakukan dengan mudah dengan gambar latar belakang yang ini't pilihan bagi saya. Saya juga bisa menggunakan javascript tapi sepertinya sangat berat tangan cara untuk mencapai hal ini.

Terima kasih!!!

Jack

72 2013-10-30T04:33:00+00:00 6
 JackMahoney
JackMahoney
Pertanyaan edit 30 Oktober 2013 в 10:23
Pemrograman
css3
html
css
Solution / Answer
Evan Layman
Evan Layman
2 November 2013 в 4:56
2013-11-02T16:56:45+00:00
Lebih
Sumber
Sunting
#22661766

Bagaimana dengan ini:

.img {
   position: absolute;
   left: 50%;
   top: 50%;
   -webkit-transform: translateY(-50%) translateX(-50%);
}

Ini mengasumsikan bahwa orang tua div diposisikan relatif. Saya pikir ini bekerja jika anda ingin .img relatif strategis daripada benar-benar. Hanya menghapus posisi: absolut dan perubahan atas/kiri untuk margin-top dan margin-left.

Anda'll mungkin ingin menambahkan dukungan browser dengan mengubah, -moz-transform dll.

Evan Layman
Evan Layman
Jawaban edit 1 Agustus 2015 в 1:59
96
0
 RavanH
RavanH
14 Oktober 2015 в 8:11
2015-10-14T20:11:48+00:00
Lebih
Sumber
Sunting
#22661768

Pertanyaan lama, baru menjawab:

Ketika gambar yang lebih besar dari pembungkus div text-align:center atau margin:auto tidak akan bekerja. Tapi jika gambar yang lebih kecil, maka solusi dengan posisi absolut atau negatif margin kiri akan menghasilkan efek yang aneh.

Jadi, ketika ukuran gambar adalah benar-benar tidak diketahui sebelumnya (seperti pada CSM) dan mungkin lebih besar atau lebih kecil dari pembungkus div, ada yang elegan CSS3 solusi yang melayani semua keperluan:

div {
    display: flex;
    justify-content: center;
    height: 400px; /* or other desired height */
    overflow: hidden;
}
img {
    flex: none; /* keep aspect ratio */
}

Perhatikan bahwa tergantung pada aturan-aturan lain dalam stylesheet anda, anda mungkin perlu untuk menambahkan width:auto dan/atau max-width:tidak ada ke img.

 RavanH
RavanH
Jawaban edit 14 Oktober 2015 в 8:49
44
0
 bicycle
bicycle
30 Oktober 2013 в 4:43
2013-10-30T04:43:29+00:00
Lebih
Sumber
Sunting
#22661763

Ini selalu sedikit rumit dan ada banyak solusi di luar sana. Saya menemukan solusi terbaik untuk menjadi sebagai berikut. Ini pusat-pusat itu baik secara vertikal dan horizontal.

CSS

#container {
    height: 400px;
    width: 400px;
}
.image {
    background: white;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.left {
    width: 100px;
    height: 100%;
    z-index: 2;
    background: white;
    top: 0px;
    position: absolute;
    left: 0px;
}
.right {
    width: 100px;
    height: 100%;
    z-index: 2;
    position: absolute;
    background: white;
    top: 0px;
    right: 0px;
}
.image img {
    margin: auto;
    display: block;
}

HTML

    <div id="container">
<div class="image">
    <div class="left"></div>
    <div class="right"></div>
    <img width="500" src="https://www.google.com.au/images/srpr/logo11w.png" />
</div>

Melihatbiola**

sedikit berbeda dengan teknik: Biola

 bicycle
bicycle
Jawaban edit 31 Oktober 2013 в 10:26
2
0
 JackMahoney
JackMahoney
30 Oktober 2013 в 10:56
2013-10-30T22:56:40+00:00
Lebih
Sumber
Sunting
#22661765

Terima kasih semua orang untuk membantu anda. <menyerang>I'm akan menganggap ini tidak bisa diraih dalam CSS saja.

Aku akan pindah ke jQuery solusi. Berikut ini adalah beberapa [palsu]kode untuk mereka yang tertarik.</strike>

Aku akan menyerah pada CSS solusi tapi sepertinya itu bisa dilakukan (lihat jawaban yang diterima). Berikut ini adalah JS solusi aku akan pergi dengan.

var $img = $('img'),
    w = $img.width();

$img.css({marginLeft: -w});

Dan yang menyertainya css

img{
  position:absolute;
  left:50%;
}
 JackMahoney
JackMahoney
Jawaban edit 5 November 2013 в 11:46
2
0
Anything Graphic
Anything Graphic
24 Agustus 2014 в 4:51
2014-08-24T16:51:04+00:00
Lebih
Sumber
Sunting
#22661767

Aku tahu ini sudah tua tapi aku juga datang dengan css murni solusi yang sangat mirip dengan di atas.

.parent {
    float: left;
    position: relative;
    width: 14.529%; // Adjust to your needs
}

.parent img {
    margin: auto;
    max-width: none; // this was needed for my particular instance
    position: absolute;
    top: 11px; right: -50%; bottom: 0; left: -50%;
    z-index: 0;
}
2
0
 Emilie
Emilie
30 Oktober 2013 в 7:57
2013-10-30T07:57:57+00:00
Lebih
Sumber
Sunting
#22661764

Hanya menginisialisasi posisi gambar sebagai berikut.

HTML :

<div> 
    <img id="img" src="/happy_cat.png"/> 
</div>

CSS :

#img {
    left: 0;
    right: 0;
}

Atau melihat dengan margin: auto;

Ini adalah untuk menyelaraskan horisontal. Untuk menyelaraskan vertikal juga, anda dapat melakukan display: table-cell; untuk anda <div> kemudian vertical-align: middle; tetapi's tidak praktek yang baik karena anda <div> bukan sebuah meja.

 Emilie
Emilie
Jawaban edit 30 Oktober 2013 в 8:11
1
0
Related communities 5
HTML dan CSS Indonesia
HTML dan CSS Indonesia
4 094 pengguna
Silahkan bertanya terkait mengenai HTML maupun CSS. Membaca, menulis, berbagi. Baca dahulu pesan tersemat di pinned post.
Buka telegram
Pemrograman Web Indonesia (HTML CSS Javascript PHP MySQL)
Pemrograman Web Indonesia (HTML CSS Javascript PHP MySQL)
306 pengguna
Official Website : www.pemweb.id Belajar Pemrograman Web (HTML CSS Javascript PHP MySQL) Grup Belajar Pemrograman Web. HTML + PHP + Javascript + MySQL DB Semoga menjadi forum belajar, menambah wawasan, peningkatan mutu personal kita semua.
Buka telegram
HTML INDONESIA
HTML INDONESIA
109 pengguna
Buka telegram
PHP HTML Indonesia
PHP HTML Indonesia
59 pengguna
~ Menerima Jasa Pembuatan Website untuk : Tugas & Instansi 💻 ~ Forum Diskusi Belajar Bersama ✅ ~ Promosi Jasa Minimal 1x Sehari ✅ ~ Dilarang Berbicara Kotor 🚫 ^ Other Grup : Whatsapp Group : Chat Admin untuk masuk ke Grup Whatsapp ^^
Buka telegram
Css Indonesia
Css Indonesia
19 pengguna
Css Indonesia group ini membahas tentang Css dan web design Bagi yg mau memperdalam Css atau ingin memulai Css atau bahkan Javascript dan html, bisa download aplikasi di bawah ini : https://play.google.com/store/apps/details?id=com.sololearn Thank you
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 1 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi