Di halaman responsif bootstrap bagaimana cara memusatkan div


132

posisikan div di tengah halaman responsif

Saya perlu membuat halaman responsif menggunakan bootstrap dengan posisi div di tengah halaman seperti pada tata letak yang disebutkan di bawah ini.



saya perlu memusatkan div dengan teks (desain Responsif menggunakan bootstrap) yang harus ada di dalam lebar penuh lain col-lg-12 centered div seperti dalam layout.it akan sangat membantu jika saya bisa mendapatkan kode sampel dalam biola
Rama Priya

Jawaban:


173

UPDATE untuk Bootstrap 4

Penyelarasan kisi vertikal yang lebih sederhana dengan kotak fleksibel

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css');
html,
body {
  height: 100%
}
<div class="h-100 row align-items-center">
  <div class="col" style="background:red">
    TEXT
  </div>
</div>

Solusi untuk Bootstrap 3

@import url('http://getbootstrap.com/dist/css/bootstrap.css');
 html, body, .container-table {
    height: 100%;
}
.container-table {
    display: table;
}
.vertical-center-row {
    display: table-cell;
    vertical-align: middle;
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.0/bootstrap.min.js"></script>

<div class="container container-table">
    <div class="row vertical-center-row">
        <div class="text-center col-md-4 col-md-offset-4" style="background:red">TEXT</div>
    </div>
</div>

Ini adalah contoh sederhana dari div horizontal dan vertikal yang berpusat di semua ukuran layar.


41
Mungkin class="col-xs-4 col-xs-offset-4"sudah cukup.
L105

Saya harus memposisikan div col-lg-12 secara vertikal tengah dalam semua ukuran layar
Rama Priya

1
Saya menemukan solusi untuk Anda memeriksa jsfiddle.net/Palapas/52VtD/687 biola ini wadah harus memiliki ketinggian 100% jika tidak, Anda perlu menggunakan posisi absolut
ppollono

45

CSS:

html,
body {
    height: 100%;
}

.container {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

HTML:

<div class="container">
  <div>
    example
  </div>
</div>

Contoh biola


1
solusi ini tidak berfungsi ketika saya membuka situs saya di ponsel.
codeinprogress

2
Hai, browser apa yang Anda gunakan? Apakah Anda memuat stylesheet dan javascript Bootstrap? Ini berfungsi di Firefox dan Chrome. Diuji pada semua ukuran layar.
vocasle

Saya menguji ini dengan mengubah ukuran browser saya, serta menggunakan pemeriksa situs web yang responsif. Bekerja untukku.
Rocky Kev

1
perbaikan ini melanggar gaya default bootstrap
ppollono

21

Di bootstrap 4

untuk memusatkan anak-anak secara horizontal , gunakan kelas bootstrap-4

justify-content-center

untuk memusatkan anak-anak secara vertikal , gunakan kelas bootstrap-4

 align-items-center

tapi ingat jangan lupa untuk menggunakan kelas d-flex dengan ini kelas utilitas bootstrap-4, seperti itu

<div class="d-flex justify-content-center align-items-center" style="height:100px;">
    <div class="bg-primary">MIDDLE</div>    
</div>

Catatan: pastikan untuk menambahkan utilitas bootstrap-4 jika kode ini tidak berfungsi



5

Anda tidak perlu mengubah apa pun dalam CSS Anda bisa langsung menulis ini di kelas dan Anda akan mendapatkan hasilnya.

<div class="col-lg-4 col-md-4 col-sm-4 container justify-content-center">
  <div class="col" style="background:red">
    TEXT
  </div>
</div>

masukkan deskripsi gambar di sini


4

tanpa display table dan tanpa bootstrap, saya lebih suka melakukannya

<div class="container container-table">
    <div class="row vertical-center-row">
        <div class="text-center col-md-4 col-md-offset-4" style="background:red">TEXT</div>
    </div>
</div>


 html, body, .container-table {
    height: 100%;
}
.container-table {
    width:100vw;
  height:150px;
  border:1px solid black;
}
.vertical-center-row {
   margin:auto;
  width:30%;
  padding:63px;
  text-align:center;

}

http://codepen.io/matoeil/pen/PbbWgQ


2

Jawaban bagus ppollono. Saya hanya bermain-main dan saya mendapat solusi yang sedikit lebih baik. CSS akan tetap sama, yaitu:

html, body, .container {
    height: 100%;
}
.container {
    display: table;
    vertical-align: middle;
}
.vertical-center-row {
    display: table-cell;
    vertical-align: middle;
}

Tetapi untuk HTML:

<div class="container">
    <div class="vertical-center-row">
        <div align="center">TEXT</div>
    </div>
</div>

Ini sudah cukup.


2

Bukan cara terbaik, tetapi masih akan berhasil

<div class="container-fluid h-100">
<div class="row h-100">
<div class="col-lg-12"></div>
<div class="col-lg-12">
<div class="row h-100">
  <div class="col-lg-4"></div>
  <div class="col-lg-4 border">
    This div is in middle
  </div>
  <div class="col-lg-4"></div>
</div>

</div>
<div class="col-lg-12"></div>
</div>

</div>

1

Saya pikir cara paling sederhana untuk menyelesaikan tata letak dengan bootstrap adalah seperti ini:

<section>
<div class="container">
    <div class="row">
        <div align="center">
            <div style="max-width: 200px; background-color: blueviolet;">
                <div>
                    <h1 style="color: white;">Content goes here</h1>
                </div>
            </div>
        </div>
    </div>
</div>

semua yang saya lakukan adalah menambahkan lapisan div yang memungkinkan saya untuk memusatkan div, tetapi karena saya tidak menggunakan persentase, Anda perlu menentukan lebar maksimum div untuk menjadi pusat.

Anda dapat menggunakan metode yang sama ini untuk memusatkan lebih dari satu kolom, Anda hanya perlu menambahkan lebih banyak lapisan div:

<div class="container">
    <div class="row">
        <div align="center">
            <div style="max-width: 400px; background-color: blueviolet;">
                <div class="col-md-12 col-sm-12 col-xs-12" style="background-color: blueviolet;">
                    <div class="col-md-8 col-sm-8 col-xs-12" style="background-color: darkcyan;">
                        <h1 style="color: white;">Some content</h1>
                    </div>
                    <div class="col-md-4 col-sm-4 col-xs-12" style="background-color: blue;">
                        <p style="color: white;">More content</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

Catatan: bahwa saya menambahkan div dengan kolom 12 untuk md, sm dan xs, jika Anda tidak melakukan ini div pertama dengan warna latar belakang (dalam hal ini "blueviolet") akan runtuh, Anda akan dapat melihat div anak , tapi bukan warna latar belakang.


1

Untuk versi aktual dari penggunaan Bootstrap 4.3.1

Gaya

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<style type="text/css">
html, body {
    height: 100%;
}
</style>

Kode

<div class="h-100 d-flex justify-content-center">
<div class="jumbotron my-auto">
<!-- example content -->
<div class="alert alert-success" role="alert">
<h4 class="alert-heading">Title</h4>
<p>Desc</p>
</div>
<!-- ./example content -->
</div>
</div

1

Coba ini, Sebagai contoh, saya menggunakan ketinggian tetap. Saya pikir itu tidak mempengaruhi skenario responsif.

<html lang="en">
<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
    <div class="d-flex justify-content-center align-items-center bg-secondary w-100" style="height: 300px;">
        <div class="bg-primary" style="width: 200px; height: 50px;"></div>
    </div>
</body>
</html>


1

Di Bootstrap 4, gunakan:

<div class="d-flex justify-content-center">...</div>

Anda juga dapat mengubah posisi tergantung pada apa yang Anda inginkan:

<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>

Referensi di sini



-1

Solusi paling sederhana akan menambahkan satu kolom kosong di kedua sisi seperti di bawah ini:

  <div class="row form-group">

    <div class="col-3"></div>

    <ul class="list-group col-6">
      <li class="list-group-item active">Yuvraj Patil</li>
    </ul>

    <div class="col-3"></div>
  </div>

-2

jsFiddle

HTML :

<div class="container" id="parent">
  <div class="row">
    <div class="col-lg-12">text
      <div class="row ">
        <div class="col-md-4 col-md-offset-4" id="child">TEXT</div>
      </div>
    </div>
  </div>
</div>

CSS :

#parent {    
    text-align: center;
}
#child {
    margin: 0 auto;
    display: inline-block;
    background: red;
    color: white;
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.