Saya mencoba menemukan cara paling efektif untuk menyelaraskan teks dengan div. Saya telah mencoba beberapa hal dan sepertinya tidak ada yang berhasil.
.testimonialText {
position: absolute;
left: 15px;
top: 15px;
width: 150px;
height: 309px;
vertical-align: middle;
text-align: center;
font-family: Georgia, "Times New Roman", Times, serif;
font-style: italic;
padding: 1em 0 1em 0;
}
<div class="testimonialText">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
html
css
vertical-alignment
shinjuo
sumber
sumber
Jawaban:
Pemusatan Vertikal di CSS
http://www.jakpsatweb.cz/css/css-vertical-center-solution.html
Ringkasan artikel:
Untuk browser CSS 2, seseorang dapat menggunakan
display:table
/display:table-cell
untuk memusatkan konten.Sampel juga tersedia di JSFiddle :
Dimungkinkan untuk menggabungkan hacks untuk browser lama (Internet Explorer 6/7) menjadi gaya dengan menggunakan
#
untuk menyembunyikan gaya dari browser yang lebih baru:sumber
table
sekalipun memiliki keluhan dari pengguna akhir karena meskipun demikian saya secara rutin mematahkan hati para penggemar CSS. Sebagian besar dari mereka mendesain hanya blog sederhana & situs statis. Beberapa dari kita membangun perangkat lunak bisnis dan membutuhkan tampilan data yang padat, dan pengguna kita lebih peduli tentang fungsi.table
. Segalanya lebih baik sekarang, tetapi beberapa dari kita yang membuat aplikasi web bisnis harus mendukung browser yang lebih lama (IE6 masih digunakan di beberapa klien!), Sementara orang yang membuat blog dapat hidup di awan dan berpura-pura bahwa semua orang di dunia memiliki koneksi cepat, komputer baru, dan versi terbaru dari browser X dengan CSS 3, dll Contoh kasus: beberapa plugin Jira menggunakan tabel tunggal-baris untuk layout (atau melakukan pula)Anda perlu menambahkan
line-height
atribut dan atribut itu harus sesuai dengan ketinggiandiv
. Dalam kasus Anda:Bahkan, Anda mungkin bisa menghapus
height
atributnya sekaligus.Ini hanya bekerja untuk satu baris teks , jadi berhati-hatilah.
sumber
Ini sumber yang bagus
Dari http://howtocenterincss.com/ :
Menggunakan Flexbox
Sejalan dengan menjaga agar posting ini tetap mutakhir dengan teknologi terbaru, berikut adalah cara yang jauh lebih mudah untuk memusatkan sesuatu menggunakan Flexbox. Flexbox tidak didukung di Internet Explorer 9 dan lebih rendah .
Berikut adalah beberapa sumber yang bagus:
JSFiddle dengan awalan peramban
Solusi lain
Ini dari zerosixthree dan memungkinkan Anda memusatkan apa pun dengan enam baris CSS
Metode ini tidak didukung di Internet Explorer 8 dan lebih rendah .
jsfiddle
Jawaban sebelumnya
Pendekatan sederhana dan lintas-peramban, berguna karena tautan dalam jawaban yang ditandai sedikit usang.
Andy Howard - Cara memusatkan teks secara vertikal dan horizontal dalam daftar atau div yang tidak berurutan
Karena saya tidak terlalu peduli dengan Internet Explorer 7/6 untuk proyek terakhir yang saya kerjakan, saya menggunakan versi yang sedikit dipreteli (yaitu menghapus hal-hal yang membuatnya bekerja di Internet Explorer 7 dan 6). Mungkin bermanfaat untuk orang lain ...
JSFiddle
sumber
height: x; line-height: x;
tetapi lebih sering daripada itu saya tidak perlu beberapa baris teks. Itu sebabnya saya suka solusi ini. Sederhana, dapat digunakan kembali, lintas-browser, tidak ada js dan hanya membutuhkan sedikit tambahan tanda.height: 100px;
menjadiheight: 100%;
untukli
dan untuk.outerContainer
.Mudah dengan
display: flex
. Dengan metode berikut, teks dalamdiv
akan dipusatkan secara vertikal:Dan jika Anda mau, horisontal:
Anda harus melihat versi peramban yang Anda butuhkan; di versi lama kode tidak berfungsi.
sumber
text-align: center
diperlukan juga, karena teks panjang mengisi lebar dan akan disejajarkan ke kiriSaya menggunakan yang berikut ini untuk memusatkan elemen acak secara mudah:
HTML:
CSS:
Ini memusatkan teks di saya
div
ke tengah vertikal tepat dari luar 200px-tinggidiv
. Perhatikan bahwa Anda mungkin perlu menggunakan awalan peramban (seperti-webkit-
dalam kasus saya) untuk membuatnya berfungsi untuk peramban Anda.Ini berfungsi tidak hanya untuk teks, tetapi juga untuk elemen lain.
sumber
position: absolute;
- Terima kasih! NB Anda mungkin ingin memasukkan-ms-transform
atau IE akan memasukkan sesuatu yang lain-web-kit-transform
sebelumtransform
. Mungkin menambahkan-ms-transform
dapat menyelesaikan masalah @ ToniMichelCaubet.Anda dapat melakukan ini dengan mengatur tampilan ke 'table-cell' dan menerapkan
vertical-align: middle;
:Namun ini tidak didukung oleh semua versi Internet Explorer sesuai dengan kutipan ini yang saya salin dari http://www.w3schools.com/cssref/pr_class_display.asp tanpa izin.
catatan: Nilai-nilai "inline-table", "table", "table-caption", "table-cell", "tabel-kolom", "tabel-kolom-grup", "baris-tabel", "baris-tabel", "baris-tabel" -group ", dan" inherit "tidak didukung oleh Internet Explorer 7 dan sebelumnya. Internet Explorer 8 membutuhkan! DOCTYPE. Internet Explorer 9 mendukung nilai-nilai ini.
Tabel berikut menunjukkan nilai tampilan yang diizinkan juga dari http://www.w3schools.com/cssref/pr_class_display.asp .
sumber
Saat ini (kita tidak perlu Internet Explorer 6-7-8 lagi) Saya hanya akan menggunakan CSS
display: table
untuk masalah ini (ataudisplay: flex
).Untuk browser lama:
Meja:
Melenturkan:
Ini (sebenarnya, adalah) solusi favorit saya untuk masalah ini (browser yang sederhana dan didukung dengan sangat baik):
sumber
Coba ini, tambahkan pada div induk:
sumber
Berikut adalah solusi yang paling sesuai untuk satu baris teks.
Ini juga dapat berfungsi untuk teks multi-baris dengan beberapa penyesuaian jika jumlah baris diketahui.
Ini JSFiddle .
sumber
sumber
Anda dapat menyelaraskan teks tengah secara vertikal di dalam div menggunakan Flexbox.
Anda dapat mempelajari lebih lanjut di A Complete Guide to Flexbox .
sumber
Periksa solusi sederhana ini:
HTML
CSS
JSFiddle
sumber
Ada cara sederhana untuk menyelaraskan konten secara vertikal tanpa menggunakan tabel / sel-tabel:
http://jsfiddle.net/bBW5w/1/
Di dalamnya saya telah menambahkan div tidak terlihat (lebar = 0) yang mengasumsikan seluruh ketinggian wadah.
Tampaknya berfungsi di Internet Explorer dan Firefox (versi terbaru). Saya tidak memeriksa dengan browser lain
Dan tentu saja CSS:
sumber
Ini adalah solusi terbersih yang saya temukan (Internet Explorer 9+) dan menambahkan perbaikan untuk masalah "mati oleh 0,5 piksel" dengan menggunakan
transform-style
jawaban lain yang dihilangkan.Sumber: Luruskan vertikal apa pun hanya dengan 3 baris CSS
sumber
Solusi sederhana untuk elemen yang tidak mengetahui nilai:
HTML
CSS
sumber
Menurut jawaban Adam Tomat disiapkan contoh JSFiddle untuk menyelaraskan teks dalam div :
dengan menggunakan display: flex dalam CSS:
dengan contoh lain dan beberapa penjelasan dalam posting blog .
sumber
Margin otomatis pada item-grid.
Mirip dengan Flexbox, menerapkan margin otomatis pada item-grid memusatkannya pada kedua sumbu:
sumber
Flexbox berfungsi dengan baik untuk saya, memusatkan banyak elemen di dalam induk div secara horizontal & vertikal.
Kode HTML:
CSS-Code:
Kode di bawah ini menumpuk semua elemen di dalam parent-div dalam sebuah kolom, memusatkan elemen secara horizontal & vertikal. Saya menggunakan child-div untuk menjaga dua elemen Anchor pada baris (baris) yang sama. Tanpa child-div ketiga elemen (Anchor, Anchor & Paragraph) ditumpuk di dalam kolom parent-div di atas satu sama lain. Di sini hanya child-div yang ditumpuk di dalam kolom parent-div.
sumber
Menggunakan:
Dengan trik ini, Anda dapat menyelaraskan apa pun jika Anda tidak ingin membuatnya tengah menambahkan "kiri: 0" untuk menyelaraskan ke kiri.
sumber
HTML
CSS
sumber
Menggunakan flex, berhati-hatilah dengan perbedaan rendering browser.
Ini berfungsi baik untuk Chrome dan Internet Explorer:
Bandingkan dengan yang ini hanya bekerja dengan Chrome:
sumber
Ini adalah variasi lain dari
div
dalamdiv
pola menggunakancalc()
dalam CSS.Ini berfungsi, karena:
position:absolute
untuk penempatan yang tepat daridiv
dalam adiv
div
karena kita mengaturnya20px
.calc(50% - 10px)
untuk 50% - setengah tinggi untuk memusatkan batindiv
sumber
Ini berfungsi dengan baik:
HTML
Kelancangan
Tanpa dan dengan tag gambar
<mat-icon>
(yang merupakan font).sumber
Hmm, jelas ada banyak cara untuk menyelesaikan ini.
Tapi saya punya
<div>
posisi yang benar-benar,height:100%
(sebenarnya,top:0;bottom:0
dan lebar tetap) dandisplay:table-cell
tidak berfungsi untuk memusatkan teks secara vertikal. Solusi saya memang membutuhkan elemen bentang bagian dalam, tapi saya melihat banyak solusi lain juga, jadi saya mungkin menambahkannya:Wadah saya adalah a
.label
dan saya ingin angka berpusat vertikal di dalamnya. Saya melakukannya dengan benar-benar memposisikantop:50%
dan pengaturanline-height:0
Dan CSS-nya adalah sebagai berikut:
Lihat dalam aksi: http://jsfiddle.net/jcward/7gMLx/
sumber
Anda bisa menggunakan css
flexbox
.sumber
Menggunakan kisi-kisi CSS melakukannya untuk saya:
sumber
Cobalah untuk menanamkan elemen tabel.
sumber
Ada beberapa trik untuk menampilkan konten atau gambar di tengah div. Beberapa jawaban benar-benar bagus dan saya sepenuhnya setuju dengan ini juga.
Absolute Horizontal And Vertical Centering Dalam CSS
http://www.css-jquery-design.com/2013/12/css-techniques-absolute-horizontal-and-vertical-centering-in-css/
Ada lebih dari 10 teknik dengan contoh . Sekarang terserah Anda yang Anda inginkan.
Tidak diragukan lagi,
display:table; display:table-Cell
ini trik yang lebih baik.Beberapa trik bagus adalah sebagai berikut:
Trik 1 - Dengan menggunakan
display:table; display:table-cell
HTML
Kode CSS
Trik 2 - Dengan menggunakan
display:inline-block
HTML
Kode CSS
Trik 3 - Dengan menggunakan
position:relative;position:absolute
sumber
CSS:
Tambahkan kelas ini ke elemen yang berisi hal-hal yang ingin Anda selaraskan secara vertikal
sumber
Jika Anda perlu menggunakan dengan
min-height
properti Anda harus menambahkan CSS ini di:sumber