[英]How to give navigation 100% width in pixels upon resize?
因此,基本上,我嘗試使用jQuery為導航欄(Bootstrap導航欄)提供100%的寬度,但以像素為單位。
當然,必須在每次調整瀏覽器/窗口大小時確定此值。
我想出了這個,盡管它有很多問題。 它使用'nav'的起始寬度作為'navsize',並且在調整窗口大小時, navsize
仍然保持不變。
$(document).on('ready', function () {
$(window).on('resize', function () {
var navsize = $('nav').width();
$('nav').css('width', navsize);
}).trigger('resize');
});
我也嘗試過var navsize = $('nav').innerWidth();
這也不是一件好事。
因為我已經用console.log()
測試過,所以一定要在調整大小后調用該函數。
對於所有想知道為什么要這樣做的人,我正在使用StickyJS使導航與頁面一起滾動。 雖然由於使用100%
寬度,但由於nav
離開了容器,滾動時它變得更小。
這應該工作
$(document).on('ready', function () {
$(window).on('resize', function () {
$('nav').css('width', 'calc(100% + 1px - 1px)' );
console.log( $('nav').width() );
/// Use following ONLY if you specifically want to set the width in pixel
$('nav').width($('nav').width());
}).trigger('resize');
});
console.log
將具有您的寬度(以像素為單位)。 表示以后每當您讀取寬度時,它將以像素為單位。
calc(100% + 1px - 1px)
轉換寬度並以px
單位進行設置,我們稍后可以閱讀。
您確定$('nav')存在嗎?
我已經使用基本的引導程序頁面進行了一些測試,並對您的代碼進行了少許更改。
導航到此頁面並打開控制台檢查器。
http://getbootstrap.com/examples/starter-template/
粘貼以下代碼,您將看到.navbar寬度將記錄在窗口調整大小上。
$(window).on('resize', function () {
var navsize = $('.navbar').width();
console.log(navsize)
});
干杯。
支持HTML和CSS會更容易,但是我僅憑行為就可以猜測一下。
最佳猜測聽起來可能是其中一種選擇。
另一種方法是使用JS將您的導航重新定位到正文中(在適當的滾動深度處),並將html,body和nav標簽的寬度設置為100%
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.