Bagaimana saya bisa membuat ruang antara dua tombol di div yang sama?

157

Apa cara terbaik untuk secara spasial tombol Bootstrap horizontal?

Saat ini tombolnya menyentuh:

<div class="btn-group">
    <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown">
        <i class="icon-in-button"></i>  
        Add to list
        <span class="caret"/>
    </button>
    <ul class="dropdown-menu">
        <li>
            <a href="#">here</a>
        </li>
        <li>
            <a href="#">new</a>
        </li>
    </ul>
    <button class="btn btn-info">
        <i class="icon-in-button"></i>  
        more
    </button>
</div>

Dua tombol Bootstrap

jsfiddle menunjukkan masalah: http://jsfiddle.net/hhimanshu/sYLRq/4/

pelamun
sumber
Saya memiliki masalah yang sama dan akhirnya menambahkan margin ke salah satu tombol- mr-1.
Ananth

Jawaban:

324

Taruh di dalam btn-toolbaratau wadah lain, bukan btn-group. btn-groupbergabung dengan mereka bersama. Info lebih lanjut tentang dokumentasi Bootstrap .

Sunting: Pertanyaan aslinya adalah untuk Bootstrap 2.x, tetapi hal yang sama masih berlaku untuk Bootstrap 3 dan Bootstrap 4 .

Di Bootstrap 4 Anda perlu menambahkan margin yang sesuai ke grup Anda menggunakan kelas utilitas, seperti mx-2.

Miroslav Popovic
sumber
2
Saya mencari solusi untuk masalah ini bertahun-tahun yang lalu, mengapa saya tidak menemukan Anda sebelumnya, Anda adalah pahlawan saya
Hakan Fıstık
1
jawaban yang benar-benar lurus! pahlawan saya hari ini :)
Naga
btn-toolbardapat membungkus beberapa tombol ke baris baru. Bagaimana cara menghindarinya?
lukas84
Direncanakan untuk istirahat karena responsif. Jika Anda benar-benar ingin mencegahnya dari melanggar, kemudian menetapkan flex-wrap: nowrapuntuk btn-toolbardi Bootstrap 4 atau mencoba dengan kombinasi overflowdan white-spaceuntuk versi Bootstrap lebih tua.
Miroslav Popovic
2
@Sendukung, lihat sedikit di bawah di bagian "Grup tombol" - getbootstrap.com/docs/4.1/components/button-group/…
Miroslav Popovic
77

Masukkan saja tombol-tombol di kelas (class = "btn-toolbar") seperti yang diceritakan oleh bro Miroslav Popovic. Ini berfungsi luar biasa.

<div class="btn-toolbar">
  <button type="button" id="btnSubmit" class="btn btn-primary btn-sm">Submit</button>
  <button type="button" id="btnCancel" class="btn btn-primary btn-sm">Cancel</button>
</div>

Manmohan
sumber
9

Anda dapat menggunakan spasi untuk Bootstrap dan tidak perlu untuk CSS tambahan. Cukup tambahkan kelas ke tombol Anda. Ini untuk versi 4.

Dragan B.
sumber
Saya ingin tombol muncul dalam satu baris dan memungkinkan mereka untuk menumpuk (karena pembungkus) pada layar kecil. Untuk mencapai jarak yang bekerja secara horizontal dan vertikal, menggunakan apa yang disediakan bootstrap, saya lakukan className='mb-2 mr-2'
:,
7

Anda harus menggunakan bootstrap v.4

<div class="form-group row">
    <div class="col-md-6">
        <input type="button" class="btn form-control" id="btn1">
    </div>
    <div class="col-md-6">
        <input type="button" class="btn form-control" id="btn2">
    </div>
</div>
Mark Dibeh
sumber
Ini adalah solusi terbaik untuk Bootstrap 4 IMO. Pada layar yang lebih kecil Anda dapat menggunakan "px-0 px-sm-2" untuk menyingkirkan padding yang sesuai. Jawaban yang bagus
rm-code
6

Apa yang disarankan Dragan B adalah cara yang tepat untuk menggunakan Bootstrap 4. Saya telah memberikan satu contoh di bawah ini. mis. mr-3 margin-right: 1rem! penting

<div class="btn-toolbar pull-right">
   <button type="button" class="btn mr-3">btn1</button>
   <button type="button" class="btn mr-3">btn2</button>
   <button type="button" class="btn">btn3</button>
</div>

ps: dalam kasus saya, saya ingin tombol saya ditampilkan di sebelah kanan layar dan karenanya menarik-kanan.

mrana
sumber
cukup membungkus tombol untuk btn-toolbarmemperbaiki masalah ruang!
Arslan Ameer
5

Cara termudah dalam kebanyakan situasi adalah margin.

Di mana Anda dapat melakukan:

button{
  margin: 13px 12px 12px 10px;
}

ATAU

button{
  margin: 13px;
}
Nyai
sumber
1
Margin khusus tidak boleh digunakan ketika Anda dapat menempatkan tombol bootstrap di dalam kelas btn-toolbar.
Millsionaire
2

Saya menggunakan plugin Bootstrap 4 tombol ( https://getbootstrap.com/docs/4.0/components/buttons/#button-plugin ) dan menambahkan kelas yang dibulatkan ke label dan kelas mx-1 ke tombol tengah untuk mencapai tampilan dan nuansa yang diinginkan dari tombol radio yang terpisah. Menggunakan kelas btn-toolbar membuat lingkaran tombol radio muncul untuk saya yang bukan yang saya inginkan. Semoga ini bisa membantu seseorang.

        <div class="btn-group btn-group-toggle" data-toggle="buttons">
            <label class="btn btn-secondary active rounded">
                <input type="radio" name="options" id="option1" autocomplete="off" checked> Active
            </label>
            <label class="btn btn-secondary rounded mx-1">
                <input type="radio" name="options" id="option2" autocomplete="off"> Radio
            </label>
            <label class="btn btn-secondary rounded">
                <input type="radio" name="options" id="option3" autocomplete="off"> Radio
            </label>
        </div>
Jonathan
sumber
2

Cara lain untuk mencapai ini adalah menambahkan kelas .btn-ruang di tombol Anda

  <button type="button" class="btn btn-outline-danger btn-space"
  </button>
  <button type="button" class="btn btn-outline-primary btn-space"
  </button>

dan mendefinisikan kelas ini sebagai berikut

.btn-space {
    margin-right: 15px;
}
Swapnil
sumber
0

Saya sebenarnya berlari ke persyaratan yang sama. Saya hanya menggunakan CSS override seperti ini

.navbar .btn-toolbar { margin-top: 0; margin-bottom: 0 }
Khanh Hua
sumber
0

jika menggunakan Bootstrap, Anda dapat mengubah dengan gaya seperti: Jika Anda hanya ingin dalam satu halaman, maka antara tag kepala tambahkan .btn-grup btn {margin-right: 1rem;}

Jika untuk semua situs web tambahkan ke file css

Vicente Niclos
sumber
0

Solusi Dragan B. benar. Dalam kasus saya, saya perlu tombol untuk ditempatkan secara vertikal ketika menumpuk jadi saya menambahkan properti mb-2 ke mereka.

<div class="btn-toolbar">
   <button type="button" class="btn btn-primary mr-2 mb-2">First</button>
   <button type="button" class="btn btn-primary mr-2 mb-2">Second</button>
   <button type="button" class="btn btn-primary mr-2 mb-2">Third</button>
</div>
Duilio
sumber
-1

Saya akhirnya melakukan sesuatu yang mirip dengan tanda apa yang dibe dilakukan, tetapi saya perlu mencari tahu dengan cara yang sedikit berbeda.

col-xKelas - kelas dalam bootstrap bisa menjadi penyelamat absolut. Saya akhirnya melakukan sesuatu yang mirip dengan ini:

<div class="row col-12">
    <div class="col-3">Title</div>
</div>
<div class="row col-12">
    <div class="col-3">Bootstrap Switch</div>
<div>

Ini memungkinkan saya untuk menyelaraskan judul dan sakelar masukan dengan jarak yang baik. Ide yang sama dapat diterapkan pada tombol dan memungkinkan Anda untuk menghentikan tombol dari sentuhan.

(Catatan: Saya ingin ini menjadi komentar pada tautan di atas, tetapi reputasi saya tidak cukup tinggi)

Conrad37
sumber