Saya menggunakan Twitter Bootstrap 2.0.1 dalam proyek Rails 3.1.2, diimplementasikan dengan bootstrap-sass. Saya memuat file bootstrap.css
dan bootstrap-responsive.css
file, sertabootstrap-collapse.js
Javascript.
Saya memiliki layout fluid dengan navbar yang mirip dengan contoh . Ini mengikuti petunjuk "variasi responsif" navbar di sini . Ini berfungsi dengan baik: jika halaman lebih sempit dari sekitar 940px, bilah navigasi menciut dan menampilkan "tombol" yang dapat saya klik untuk meluaskan.
Namun navbar saya terlihat bagus sampai dengan lebar sekitar 550px, yaitu tidak perlu diciutkan kecuali layarnya sangat sempit.
Bagaimana cara memberi tahu Bootstrap untuk hanya menutup navbar jika lebar layar kurang dari 550px?
Perhatikan bahwa pada titik ini saya tidak ingin mengubah perilaku responsif lainnya, misalnya menumpuk elemen alih-alih menampilkannya secara berdampingan.
sumber
Jawaban:
Anda mencari baris 239 dari
bootstrap-responsive.css
Di mana
max-width
nilai tersebut memicu navigasi responsif. Ubah ke 550px atau lebih dan itu akan mengubah ukurannya dengan baik.sumber
bootstrap-responsive.css
dimakamkan di permata bootstrap-sass. Ya, saya bisa mengeditnya tetapi ketika permata diperbarui, saya harus melakukannya lagi. Apakah ada cara untuk mengganti kueri @media, mirip dengan menimpa elemen CSS lainnya?@media (max-width: 767px)
blok. Sepertinya saya harus melakukan penggantian yang lebih ekstensif seperti yang disarankan dalam jawaban Andres Ilich.@media (max-width: 767px)
. Mudah-mudahan Bootstrap (atau bootstrap-sass) suatu hari nanti akan menyertakan sarana untuk menggunakan variabel untuk mengatur ambang batas, tetapi saya pikir itu akan membutuhkan interpolasi di pemilih media .Bootstrap> 2.1 && <3
Pembaruan 2013: Cara mudah
(THX ke Archonic melalui komentar)
Pembaruan 2014: Bootstrap 3.1.1 dan 3.2 (mereka bahkan menambahkannya ke dokumentasi )
Jika Anda menyesuaikan atau menimpa / mengedit
.less
variabel, Anda mencari:sumber
@navbarCollapseWidth: 600px;
di boostrap_and_overrides.css.less.Anda dapat membuat
@media
kueri baru untuk menjatuhkan elemen navbar sesuai keinginan Anda, yang harus Anda lakukan adalah mengatur ulang yang pertama untuk mengakomodasi kueri baru Anda dengan lebar penurunan yang diinginkan. Ambil ini sebagai contoh:CSS
Dalam kode berikut, Anda dapat melihat bagaimana saya menyertakan
@media
kueri asli yang menangani penurunan sebelum979px
tanda dan kueri baru untuk mendukung titik drop yang Anda inginkan dari550px
. Saya memodifikasi kueri asli langsung dari css yang responsif-bootstrap untuk menyetel ulang semua gaya yang diterapkan ke kueri khusus tersebut untuk elemen navbar dan memindahkannya ke kueri baru yang membawa titik drop yang Anda butuhkan. Dengan cara ini kita dapat mengubah semua gaya dari kueri asli ke kueri baru tanpa mengotak-atik stylesheet responsif-bootstrap, dengan cara ini nilai default akan tetap diterapkan ke elemen lain dalam dokumen Anda.Berikut ini demo singkat dengan kueri media yang disetel
550px
sesuai kebutuhan Anda: http://jsfiddle.net/wU8MW/Catatan: Saya menempatkan
@media
kueri yang dimodifikasi di atas jauh di bawah bingkai css karena css yang baru dimodifikasi seharusnya dimuat terlebih dahulu daripada css responsif.sumber
@media (max-width: 979px)
kueri asli untuk membuat@media (max-width: 550px)
kueri baru . Kemudian (2) Anda mengodekan kueri 979px baru untuk menimpa efek dari kueri 979px di utamabootstrap-responsive.css
? Urutan tag di CSS Anda tampaknya tidak mengikuti urutan dalambootstrap-responsive.css
, jadi saya mengalami kesulitan membandingkannya untuk melihat apa yang Anda lakukan.@media (max-width: 550px)
permintaan saya menulis tidak mengikuti awal@media (max-width: 979px)
sintaks query karena semua yang saya lakukan adalah contoh cepat utama itu dengan tangan melalui pembakar dan copy / paste, punya malas yang satu itu, tapi cara yang tepat untuk melakukannya adalah seperti yang Anda sebutkan di kedua Anda titik.bootstrap-sass akan mendukung variabel $ navbarCollapseWidth di versi berikutnya (2.2.1.0). Anda akan dapat memperbaruinya untuk melakukan apa yang Anda inginkan setelah versi itu tayang!
sumber
@import "bootstrap";
Mulai Agustus 2013, halaman "Kustomisasi dan unduh" Bootstrap 3 dapat ditemukan di http://getbootstrap.com/customize/
Dengan Bootstrap 3, variabel yang relevan adalah @ grid-float-breakpoint.
Halaman Stack Overflow berikut memiliki detail tambahan: Bootstrap 3 Navbar collapse
sumber
Saya menduga (dan berharap) ini akan segera diimplementasikan secara resmi. Sementara itu, saya hanya melakukan hack css sederhana, menggunakan visible-phone pada tombol dropdown dan visible-tablet pada set kedua tombol yang saya tempatkan di navbar. Jadi sebelumnya terlihat seperti ini:
Dan sekarang terlihat seperti:
Perhatikan bahwa urutan elemen itu penting, jika tidak, Anda mungkin memiliki masalah dengan elemen yang masuk ke baris berikutnya
sumber
Saya membuat file SCSS terpisah yang mencantumkan semua parsial yang dibutuhkan bootstrap, dengan cara itu saya dapat mengaktifkan dan menonaktifkan parsial tergantung pada apa yang dibutuhkan situs kami. Dengan cara ini, saya dapat mengganti variabel breakpoint dengan mudah. Inilah yang saya dapatkan:
sumber
Ini kode saya (Semua solusi lain menunjukkan scrollbar yang funky saat navbar turun jadi saya mengedit kode jadi tidak). Saya tidak dapat memposting jawaban lain jadi saya akan melakukannya di sini agar orang lain dapat menemukannya. Saya menggunakan rel untuk melakukan ini dengan Bootstrap 3.0.
assets / stylesheets / framework dan timpa tempel ini: (Sesuaikan lebar maks ke nilai apa pun untuk mencapai tujuan Anda.)
sumber
Bootstrap 3.x.
menggunakan LESS , Anda dapat mengubah nilai
@screen-small
untuk menargetkan ukuran min Andacontoh:
@screen-small: 600px;
saya menggunakan ini untuk hanya beralih ke mode "perangkat kecil" setelah lebarnya kurang dari 600px
sumber
Bootstrap 3.x.
menggunakan SASS, Anda dapat mengubah nilai $ screen-sm untuk menargetkan ukuran min Anda
contoh: $ screen-sm: 600px;
Anda harus meletakkan nilai ini dalam file application.scss Anda sebelum @import "bootstrap";
Lebih sedikit variabel yang dimulai dengan "@" baru saja mengubahnya menjadi "$" untuk menimpanya sebelum diimpor.
Berikut adalah daftar variabel.
sumber
Bootstrap 4.x.
Sangat mudah untuk mengubah ambang runtuh di Bootstrap 4.x. Ada 6 kasus:
<nav class="navbar navbar-expand">...</nav>
<nav class="navbar navbar-expand-sm">...</nav>
<nav class="navbar navbar-expand-md">...</nav>
<nav class="navbar navbar-expand-lg">...</nav>
<nav class="navbar navbar-expand-xl">.../nav>
<nav class="navbar">...</nav>
(Hapus sajanavbar-expand-*
class. Mobile-first seperti di Bootstrap 4.x)Kredit untuk artikel ini oleh Carol Skelly saya menemukan https://medium.com/wdstack/examples-bootstrap-4-navbar-b3c9dc0edc1a
sumber
Ini adalah contoh yang bagus di mana Anda bisa menggunakan versi LESS dari file CSS Bootstrap. Cara melakukannya ada di bawah.
Lebih baik mengirimkan ini sebagai permintaan tarik di Github sehingga semua orang bisa mendapatkan keuntungan dan "kode kustom" Anda mudah-mudahan akan menjadi bagian dari Bootstrap di masa mendatang.
variables.less
yang menentukan kapan harus menciutkan bilah navigasi. Sesuatu seperti:@navCollapseWidth: 979px
responsive-navbar.less
...@media (max-width: 979px)
ke@media (max-width: @navCollapseWidth)
@media (min-width: 980px)
menjadi@media (max-width: @navCollapseWidth - 1)
Tentu saja ... Anda harus mengkompilasi LESS menggunakan salah satu metode yang disarankan .
sumber
Mengambil hack tyler ini lebih jauh dengan menambahkan terlihat-telepon digolongkan blok dan tersembunyi-ponsel kelas untuk item dalam navigasi dilipat utama, Anda dapat 'menarik' satu atau dua item runtuh untuk menampilkan bahkan di navbar telepon.
sumber
Cukup tuliskan kode ini di file style.css kustom Anda dan ini akan berfungsi
sumber