[英]Header's height to margin-top
我有一个标头,其position: fixed;
但后面的内容仍保留在标题后面。 我尝试用JS设置标题页眉高度的内容的页margin-top
,但是不起作用。
这里有HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheetini.css">
<script src="javas.js"></script>
<title></title>
</head>
<body onscroll="scrolling()">
<div class="header">
<p>Example</p>
</div>
<div class="container">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ut orci arcu. Morbi in neque libero. Pellentesque in tortor magna. Nam tempus suscipit sem id viverra. Duis blandit, massa sed tristique pharetra, mauris arcu convallis quam, id rutrum urna elit tristique mauris. Duis condimentum mi vel libero consectetur tempor. Ut tempor odio vitae neque varius, nec finibus leo rhoncus.
</div>
<div class="footer">
ExampleExample
</div>
</body>
</html>
CSS:
body {
background-color: #DFB36D;
text-align: center;
}
.header {
position: fixed;
font-size: 50px;
background-color: #BBBBBB;
top: 0;
left: 0;
width: 100%;
}
.container {
}
和JS:
$(document).onload(){
var headerHeight = $('.header').height() + 'px';
$('.container').css('margin-top', headerHeight);
}
提前致谢。 https://jsfiddle.net/nxhoqcz9/
实际删除了<center>
标签和.
从身体
<center></center>
.body
>之前的点,这就是text-align: center;
的原因text-align: center;
没用 CSS:
body {
background-color: #DFB36D;
text-align: center;
}
.header {
position: fixed;
font-size: 50px;
background-color: #BBBBBB;
top: 0;
left: 0;
width: 100%;
}
JS:
$(document).ready(function() {
var headerHeight = $('.header').height() + 'px';
$('.container').css('margin-top', headerHeight);
}
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheetini.css">
<title></title>
</head>
<body onscroll="scrolling()">
<div class="header">
<p>Example</p>
</div>
<div class="container">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ut orci arcu. Morbi in neque libero. Pellentesque in tortor magna. Nam tempus suscipit sem id viverra. Duis blandit, massa sed tristique pharetra, mauris arcu convallis quam, id rutrum urna elit tristique mauris. Duis condimentum mi vel libero consectetur tempor. Ut tempor odio vitae neque varius, nec finibus leo rhoncus.
</div>
<div class="footer">
ExampleExample
</div>
<script
src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha256-k2WSCIexGzOj3Euiig+TlR8gA0EmPjuc79OEeY5L45g="
crossorigin="anonymous"></script>
<script src="javas.js"></script>
</body>
</html>
您使用了$符号,但未引用JQ库
您的js代码有问题...请尝试将其修复为以下代码
$(function() {
var headerHeight = $(".header").height() + "px";
$(".container").css("margin-top", headerHeight);
});
要么
window.onload = function() {
var headerHeight = $(".header").height() + "px";
$(".container").css("margin-top", headerHeight);
};
https://codepen.io/linjiyeah/pen/NjJXNo <---您可以在这里看到结果
为什么您需要使用JavaScript来解决此问题? 只需在容器中放置页边空白即可。 这里的工作示例
.container {
margin-top:200px
}
jQuery中没有onload
函数。 文档准备ready
时,可以将其置于ready
功能。 您可以以这种方式编写它,而无需更改任何样式。
$(function(){ // You can also write $(document).ready(function({ // code}) like this
var headerHeight = $('.header').height() + 'px';
$('.container').css('margin-top', headerHeight);
})
检查这里: https : //plnkr.co/edit/hTUg5ANMifkPoc2z8lwW?p=preview
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.