Saya sedang membangun sebuah proyek dengan Bootstrap dan saya menghadapi masalah kecil. Saya memiliki wadah di bawah Nav-top. Masalah saya adalah bahwa beberapa bagian dari wadah saya tersembunyi di bawah header nav-top. Saya tidak ingin menggunakan margin atas dengan wadah. Tolong lihat di bawah html di mana saya menghadapi masalah ini
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<link rel="stylesheet" href="~/stylesheets/bootstrap.css"/>
<link rel="stylesheet" href="~/stylesheets/bootstrap-responsive.css"/>
</head>
<body>
<div class="navbar navbar-fixed-top ">
<div class="navbar-inner">
<div class="container">
<button data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar collapsed" type="button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="nav-collapse"><ul class="nav" id="navbar"><li ng-class="{active:section=='plunks'}" class="active"><a href="/plunks/trending"><i class="icon-home"></i>Home</a></li><li><a target="_self" href="/edit/"><i class="icon-calendar"></i>General Election 2014</a></li><li class="divider-vertical">
</li><li class="dropdown"><a class="dropdown-toggle" href="#" data-toggle="dropdown">
<i class="icon-eye-open">
</i>Assembly Elections
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="#/HTML5Apps">Assembly Elections 2013</a></li>
</ul>
</li><li class="divider-vertical">
</li><li ng-class="{active:section=='tags'}"><a href="/tags"><i class="icon-th"></i>Constituecy</a></li><li ng-class="{active:section=='discuss'}"><a href="/discuss"><i class="icon-time"></i>Election News</a></li><li class="divider-vertical"></li><li><a href="https://github.com/filearts/plunker"><i class="icon-bell"></i>Candidate</a></li></ul></div>
</div>
</div>
</div>
<div class="container" >
<ul class="nav nav-pills">
<li class="active">
<a href="#">Popular</a>
</li>
<li><a href="#">Trending</a></li>
<li><a href="#">Latest</a></li>
</ul>
</div>
<script src="~/Scripts/jquery.js"></script>
<script src="~/Scripts/bootstrap-dropdown.js"></script>
<script src="~/Scripts/Collapse.js"></script>
</body>
</html>
css
twitter-bootstrap
Ajay Beniwal
sumber
sumber
Jawaban:
Ini ditangani dengan menambahkan beberapa
padding
ke bagian atas<body>
.Sesuai dokumentasi Bootstrap di
.navbar-fixed-top
, coba nilai Anda sendiri atau gunakan cuplikan kami di bawah ini. Tip: Secara default,navbar
adalah50px
tinggi.Juga, lihat sumber untuk contoh ini dan buka
starter-template.css
.sumber
Saya kira masalah yang Anda miliki terkait dengan ketinggian dinamis yang dimiliki navbar tetap di bagian atas. Misalnya, saat pengguna masuk, Anda perlu menampilkan semacam " Halo [Nama Pengguna] " dan bila namanya terlalu lebar, bilah navigasi perlu menggunakan lebih banyak tinggi agar teks ini tidak tumpang tindih dengan menu bilah navigasi . Karena bilah navigasi memiliki gaya " posisi: tetap ", badan tetap di bawahnya dan bagian yang lebih tinggi menjadi tersembunyi sehingga Anda perlu "secara dinamis" mengubah bantalan di bagian atas setiap kali ketinggian bilah navigasi berubah yang akan terjadi berikut ini skenario kasus:
Dinamika ini tidak tercakup oleh CSS biasa jadi saya hanya dapat memikirkan satu cara untuk menyelesaikan masalah ini jika pengguna mengaktifkan JavaScript . Silakan coba potongan kode jQuery berikut untuk menyelesaikan skenario kasus 1 dan 2; untuk skenario kasus 3, harap ingat untuk memanggil fungsi onResize () setelah ada perubahan dalam konten navbar :
sumber
Cukup tentukan navbar kosong sebelum yang diperbaiki, itu akan menciptakan ruang yang dibutuhkan.
sumber
navbar
lakukan.Itu terjadi karena dengan
navbar-fixed-top
kelas navbar mendapatkanposition:fixed
. Ini secara bergantian mengeluarkan bilah navigasi dari aliran dokumen meninggalkan isi untuk mengambil ruang di belakang bilah navigasi.Anda perlu menerapkan
padding-top
ataumargin-top
untuk Andacontainer
, berdasarkan kebutuhan Anda dengan nilai-nilai>= 50px
. (atau bermain-main dengan nilai yang berbeda)Navbar bootstrap dasar membutuhkan ketinggian
40px
. Jadi, jika Anda memberikan satupadding-top
ataumargin-top
dari50px
atau lebih, Anda akan selalu memiliki ruang bernapas antara wadah Anda dan bilah navigasi.sumber
Saya juga mengalami masalah ini tetapi menyelesaikannya tanpa skrip dan hanya menggunakan CSS. Saya mulai dengan mengikuti padding-top yang direkomendasikan untuk menu tetap dengan pengaturan 60px yang dijelaskan di situs web Bootstrap. Kemudian saya menambahkan tiga tag media yang mengubah ukuran padding pada titik potong di mana menu saya juga berubah ukuran.
Satu catatan, ketika lebar menu saya antara 768 dan 991, logo menu di layout saya ditambah
<li>
opsi menyebabkan menu membungkus menjadi dua baris. Oleh karena itu, saya harus menyesuaikan padding-top untuk mencegah menu menutupi konten, maka 110px.Semoga ini membantu...
sumber
Saya tahu utas ini sudah tua, tetapi saya baru saja masuk ke masalah itu dan saya memperbaikinya dengan hanya menggunakan
page-header
kelas di halaman saya, di bawah nav. Juga saya menggunakan<nav>
tag, bukan<div>
tetapi saya tidak yakin itu akan menampilkan perilaku yang berbeda.Menggunakan
page-header
sebagai wadah untuk halaman, Anda tidak perlu mengotak-atik<body>
, hanya jika Anda tidak setuju dengan ruang default yangpage-header
diberikan.sumber
saya menyelesaikannya menggunakan jquery
sumber