css - 如何根据导航栏高度计算正文填充?

标签 css asp.net-mvc twitter-bootstrap

当创建 ASP.NET MVC 应用程序时,它会自动生成一个默认的导航栏布局,其中左上角有几个菜单项,右上角有一个“登录”菜单项。

默认情况下,页面内容从导航栏后面开始。正如许多帖子所建议的那样,罪魁祸首是类 navbar-fixed-top 并且必须在您的 body 样式中添加 padding-top站点特定的 css 文件。

我选择了一个合适的顶部内边距大小,它看起来效果很好。

当您开始缩短桌面浏览器的宽度时,就会出现此问题。有一次,“登录”菜单项滚动到下一行。我指定的填充大小不再有效。

我想知道是否有一种方法可以根据导航栏高度动态设置填充大小。或者,也许有一种方法可以根据导航栏的当前状态定义两种不同的填充大小?希望我可以在我的 site.css 文件或我的主布局文件中应用这个技巧,这样我就不需要修改每个页面。问候。

最佳答案

这是我解决同样问题的代码,我不确定我是否保留它,也许它对你有帮助。

(function ($) {

    var lastNavBarHeight = 100;

    checkSize(); // init
    $(window).resize(checkSize);

    // changes size of padding to the nav.navbar when responsive changes are fired
    function checkSize() {
        var navHeight = $("nav.navbar").height();

        if (navHeight !== lastNavBarHeight) {
            $("body").css("padding-top", navHeight + "px");
            lastNavBarHeight = navHeight;
        }
    }
}(jQuery));

关于css - 如何根据导航栏高度计算正文填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46021528/

相关文章:

html - Bootstrap header 修复

jquery - 根据窗口高度调整div高度

c# - 如何在ASP.NET MVC5中的全局错误处理中达到方法的参数

jquery - jQuery 自动完成的服务器端缓存策略?

asp.net - 在 ASP.NET MVC 中使用/Owin 授权静态文件

html - 在 Bootstrap 3.0.3 但不是 3.3.7 上工作的可折叠边栏

css - 使用 CSS 实现响应式图像翻转

html - 居中 DIVS 和页脚问题

jQuery Mobile header - 如何重复 x 背景并放上图像?

java - 如何使用 bootstrap select 在每个 spring mvc3 选择列表中设置所选项目?