Saya memiliki div yang lebarnya 100%.
Saya ingin memusatkan tombol di dalamnya, bagaimana saya bisa melakukan ini?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
Saya memiliki div yang lebarnya 100%.
Saya ingin memusatkan tombol di dalamnya, bagaimana saya bisa melakukan ini?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
Jawaban:
Jawaban yang Diperbarui
Memperbarui karena saya perhatikan itu jawaban aktif, namun Flexbox akan menjadi pendekatan yang benar sekarang.
Demo Langsung
Penjajaran vertikal dan horizontal.
Hanya horisontal (selama sumbu flex utama adalah horisontal yang merupakan standar)
Jawaban Asli menggunakan lebar tetap dan tidak ada flexbox
Jika poster asli menginginkan pelurusan vertikal dan tengah, cukup mudah untuk lebar dan tinggi tombol yang tetap, coba yang berikut ini
Demo Langsung
CSS
hanya untuk menggunakan perataan horisontal
atau
sumber
Anda bisa saja membuat:
Atau Anda bisa melakukannya seperti ini:
Yang pertama akan memusatkan menyelaraskan semua yang ada di dalam div. Yang lain akan memusatkan menyelaraskan hanya tombol.
sumber
et voila:
Pembaruan : Jika OP mencari pusat horizontal dan vertikal, jawaban ini akan melakukannya untuk elemen lebar / tinggi tetap.
sumber
Margin: 0 otomatis; adalah jawaban yang benar untuk pemusatan horizontal saja. Untuk memusatkan kedua cara, sesuatu seperti ini akan berfungsi, menggunakan jquery:
Perbarui ... lima tahun kemudian , seseorang dapat menggunakan flexbox pada elemen DIV induk untuk dengan mudah memusatkan tombol baik secara horizontal maupun vertikal.
Termasuk semua awalan peramban, untuk dukungan terbaik
Tampilkan cuplikan kode
sumber
Dengan detail terbatas yang disediakan, saya akan mengasumsikan situasi yang paling sederhana dan mengatakan Anda dapat menggunakan
text-align: center
:http://jsfiddle.net/pMxty/
sumber
Menggunakan flexbox
Dan kemudian menambahkan kelas ke tombol Anda.
sumber
Anda harus membuatnya sederhana di sini Anda pergi:
pertama Anda memiliki posisi awal teks atau tombol Anda:
Dengan menambahkan baris kode css ini ke tag h2 atau ke tag div yang menyimpan tag tombol
Akhirnya kode hasil akan menjadi:
sumber
Datangi ini dan berpikir saya akan meninggalkan solusi yang saya gunakan juga, yang memanfaatkan
line-height
dantext-align: center
melakukan pemusatan vertikal dan horizontal:Klik di sini untuk bekerja JSFiddle
sumber
Untuk memusatkan secara
<button type = "button">
vertikal dan horizontal dalam<div>
lebar yang dihitung secara dinamis seperti pada kasus Anda, inilah yang harus dilakukan:text-align: center;
ke pembungkus<div>
: ini akan memusatkan tombol setiap kali Anda mengubah ukuran<div>
(atau lebih tepatnya jendela)Untuk penyelarasan vertikal, Anda perlu mengatur
margin: valuepx;
tombol. Ini adalah aturan tentang cara menghitungvaluepx
:valuepx = (wrappingDIVheight - buttonHeight)/2
Berikut ini adalah demo JS Bin .
sumber
Jawaban super sederhana yang akan berlaku untuk sebagian besar kasus adalah dengan hanya mengatur margin
0 auto
dan mengatur tampilanblock
. Anda dapat melihat bagaimana saya memusatkan tombol saya di demo saya di CodePensumber
Hal yang paling mudah adalah memasukkannya sebagai "div", berikan "margin: 0 auto" tetapi jika Anda ingin memusatkannya, Anda harus memberi lebar.
sumber
Opsi CSS responsif untuk memusatkan tombol secara vertikal dan horizontal tanpa memedulikan ukuran elemen induk (menggunakan kait atribut data untuk masalah kejelasan dan pemisahan) :
HTML
CSS
Fiddle: https://jsfiddle.net/crrollyson/zebo1z8f/
sumber
Cara responsif untuk memusatkan tombol Anda di div:
sumber
Misalkan div adalah #div dan tombol adalah #button:
Kemudian bersarang tombol ke div seperti biasa.
sumber