如何移除Bootstrap导航栏左侧内边距/外边距并居中导航项
解决Bootstrap导航栏居中及默认边距问题
我来帮你搞定这个导航栏居中的问题!你遇到的轻微左偏,主要是两个原因:一是navbar-nav上的mr-auto类和mx-auto冲突,二是Bootstrap默认给.navbar和.navbar-collapse加了内边距/对齐规则。
下面是具体的修复步骤和修改后的代码:
1. 修正导航栏的对齐类
你原本给navbar-nav加了mr-auto mx-auto,其中mr-auto会强制元素向左对齐,和mx-auto(通过左右自动margin实现居中)的作用冲突,只需要保留mx-auto即可。
2. 移除Bootstrap默认的边距和对齐规则
添加自定义CSS覆盖Bootstrap的默认样式,确保导航栏容器没有多余的内边距,并且折叠区域也能保持居中对齐:
body { margin: 0; padding: 0; font-family: 'Roboto', sans-serif; } /* Header Start */ header { display: flex; height: 10rem; align-items: center; justify-content: center; } nav ul li { padding-left: 10px; padding-right: 10px; } nav { font-size: 21px; } #logo img { height: 220px; } /* Header End */ /* 新增导航栏居中样式 */ .navbar { padding-left: 0; padding-right: 0; } .navbar-collapse { justify-content: center; } /* Navigation End */ /* Main Start */ /* Main End */ /* Aside Start */ /* Aside End */ /* Footer Start */ /* Footer End */ /* Media Queries Start */ /* Media Queries End */
3. 修改后的HTML代码
主要调整navbar-nav的类,移除冲突的mr-auto:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="opis strony"> <meta name="robots" content="index, follow"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> <link rel="stylesheet" href="css/style.css"> <link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet"> </head> <body> <header> <div id="logo"><img src="img/logotest.jpg" alt="" class="img-fluid"></div> </header> <nav class="navbar navbar-expand-md navbar-light bg-light"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mx-auto"> <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Articles</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Reviews</a> </li> </ul> </div> </nav> <main> </main> <aside> </aside> <footer> </footer> <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> </body> </html>
这样修改后,导航项就会完美居中,不会再有左偏的问题啦!
内容的提问来源于stack exchange,提问作者Michał Markiewicz
相关产品推荐
相关产品推荐

