【问题标题】:When using Twitter Bootstrap 3's Grid, panel-body overlaps the navbar-header使用 Twitter Bootstrap 3 的 Grid 时,panel-body 与 navbar-header 重叠
【发布时间】:2018-08-14 21:13:33
【问题描述】:

由于某种原因,当我在面板主体内使用 col-xs-* 时,当我向下滚动时,内容与面板标题重叠。当我删除 col-xs-* 和 row 标签时,这不会发生。

向下滚动之前:

向下滚动后:

源代码:

<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <style>
		.navbar-collapse {
		  background-color: #69899f;
		  border-color: #425766;
		}

		.navbar-header {
		  background-color: #69899f;
		  border-color: #425766;
		}
		.navbar-collapse .navbar-text {
		  color: #d7e2e9;
		}
		.navbar-header .navbar-toggle .icon-bar {
		  background-color: #d7e2e9;
		}
        .affix {
            top: 0;
            width: 100%;
        }

        .affix+.container-fluid {
            padding-top: 70px;
        }
    </style>
</head>

<body>
	<div class="navbar fixed-top clearfix" style="border:1px solid #000;">
		<div class="navbar-header">
			<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
				<span class="sr-only">Toggle navigation</span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
			</button>
			<h2 style="margin-top: 8px;margin-bottom: 8px;margin-right: 80px">Title A</h2>
		</div>
		<nav class="collapse navbar-collapse">
			<ul class="nav navbar-nav">
				<li class="active"><a href="#menu1">Title B</a></li>
			</ul>
		</nav><!--/.nav-collapse -->
    </div>
	
	<div class="container-fluid">
		<div class="tab-content clearfix">
			<div id="menu1" class="tab-pane fade in active">
				<h1 class="text-center">Title B</h1><br>
				<div class="container" id="niftarim">

		<div class="widget">
			<div class="panel panel-info">
			<div class="panel-heading"><p>Header</p></div>
			<div class="panel-body" style="word-wrap: break-word;">
				<div class="row">
					<div class="col-xs-3">
						<img src="http://placehold.it/40x140">
					</div>
					<div class="col-xs-9">
						<p>bla bla bla</p>
					</div>
				</div>
			</div>
			</div>
		</div>
		
		<div class="widget">
			<div class="panel panel-info">
			<div class="panel-heading"><p>Header</p></div>
			<div class="panel-body" style="word-wrap: break-word;">
				<div class="row">
					<div class="col-xs-3">
						<img src="http://placehold.it/40x140">
					</div>
					<div class="col-xs-9">
						<p>bla bla bla</p>
					</div>
				</div>
			</div>
			</div>
		</div>
		
		<div class="widget">
			<div class="panel panel-info">
			<div class="panel-heading"><p>Header</p></div>
			<div class="panel-body" style="word-wrap: break-word;">
				<div class="row">
					<div class="col-xs-3">
						<img src="http://placehold.it/40x140">
					</div>
					<div class="col-xs-9">
						<p>bla bla bla</p>
					</div>
				</div>
			</div>
			</div>
		</div>

		<div class="widget">
			<div class="panel panel-info">
			<div class="panel-heading"><p>Header</p></div>
			<div class="panel-body" style="word-wrap: break-word;">
				<div class="row">
					<div class="col-xs-3">
						<img src="http://placehold.it/40x140">
					</div>
					<div class="col-xs-9">
						<p>bla bla bla</p>
					</div>
				</div>
			</div>
			</div>
		</div>
				</div>
			</div>
		</div>
	</div>
    <script>
$(function() {
    $(".navbar").affix({
        offset: {
            top: $("header").outerHeight(true)
        }
    });
});
    </script>
</body>
</html>

【问题讨论】:

    标签: javascript html css twitter-bootstrap-3 bootstrap-grid


    【解决方案1】:

    这是导航的 z-index 的问题。即使只是给.navbar 1 的 z-index 也为我修复了重叠。 JSYK,数字越高,它在另一个元素下的可能性就越小,所以你应该把它设为 999。试试这些样式。

    <style>
       .navbar {
          z-index: 1;
        }
        .navbar-collapse {
          background-color: #69899f;
          border-color: #425766;
        }
    
        .navbar-header {
          background-color: #69899f;
          border-color: #425766;
        }
        .navbar-collapse .navbar-text {
          color: #d7e2e9;
        }
        .navbar-header .navbar-toggle .icon-bar {
          background-color: #d7e2e9;
        }
        .affix {
            top: 0;
            width: 100%;
        }
    
        .affix+.container-fluid {
            padding-top: 70px;
        }
    </style>
    

    【讨论】:

      猜你喜欢
      • 2014-06-24
      • 1970-01-01
      • 2013-05-22
      • 2014-08-15
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      相关资源
      最近更新 更多