Bonjour,
J'aimerais comprendre pourquoi ma sticky nav est plus large lorsque elle en position:fixed !
Voici mes fichiers :
Le html:
Le Css :
Le js:
Et voici deux screenshots pour expliquer mon problème :
http://imgur.com/a/PdbQK
Comme vous pouvez le voir le header.fixed déborde (en rouge sur la partie bleu). Je souhaiterais que le header.fixed ne déborde pas sur le body, mais je ne trouve pas comment faire.
Merci de votre aide !
Bonne journée.
J'aimerais comprendre pourquoi ma sticky nav est plus large lorsque elle en position:fixed !
Voici mes fichiers :
Le html:
<!DOCTYPE>
<html>
<head>
<title>Test sur une sticky nav</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="./style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<!-- headerfixed -->
<script type="text/javascript" src="./header_fixed.js"></script>
</head>
<body>
<div class="content">
<div class="header">
<div class="top_header">
<div class="content1">
<h1>Super Logo du site</h1>
</div>
<div class="content2">
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Tutoriel</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">Javascript</a></li>
<li><a href="#">Sticky Nav</a></li>
</ul>
</div>
</div>
<h1>Description</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare pretium orci eu porttitor. Suspendisse ullamcorper molestie nisl at tincidunt. Maecenas tempus orci et nunc vulputate, in sodales lectus pulvinar. Duis porta elit vitae scelerisque hendrerit. Etiam vitae lorem sed risus gravida ullamcorper. Donec vitae ultricies velit.</p>
</div>
<div class="main">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare pretium orci eu porttitor. Suspendisse ullamcorper molestie nisl at tincidunt. Maecenas tempus orci et nunc vulputate, in sodales lectus pulvinar. Duis porta elit vitae scelerisque hendrerit. Etiam vitae lorem sed risus gravida ullamcorper. Donec vitae ultricies velit. Curabitur fermentum lacus libero, in volutpat nisl maximus at. Etiam accumsan tortor nec arcu lacinia congue. Fusce ut dapibus mi. Nunc at vulputate elit, sit amet venenatis lorem. Ut magna libero, fringilla vel nisl et, interdum porta tortor. Aenean blandit fringilla sem, sit amet egestaLorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ornare pretium orci eu porttitor. Suspendisse ullamcorper molestie nisl at tincidunt. Maecenas tempus orci et nunc vulputate, in sodales lectus pulvinar. Duis porta elit vitae scelerisque hendrerit. Etiam vitae lorem sed risus gravida ullamcorper. Donec vitae ultricies velit. Curabitur fermentum lacus libero, in volutpat nisl maximus at. Etiam accumsan tortor nec arcu lacinia congue. Fusce ut dapibus mi. Nunc at vulputate elit, sit amet venenatis lorem.
</div>
</div>
</body>
</html>
Le Css :
body
{
background-color: #0099ff;;
margin-top: 10px;
margin-right: 30px;
margin-left: 30px;
}
.content {
background-color: #f2f2f2;
}
.content1 {
float: left;
width: 33%;
}
.content2 {
float: left;
width: 60%;
}
.content2 ul li {
display: inline;
}
.content2 li {
list-style-type: none;
}
.top_header {
height: 80px;
width: 100%;
background-color: red;
}
.top_header.fixed {
position: fixed;
z-index: 1000;
top: 0;
}
Le js:
$(window).scroll(function (event) {
// A chaque fois que l'utilisateur va scroller (descendre la page)
var y = $(this).scrollTop(); // On récupérer la valeur du scroll vertical
if (y > 0) {
$('.top_header').addClass('fixed');
} else {
// sinon, on l'enlève
$('.top_header').removeClass('fixed');
}
});
Et voici deux screenshots pour expliquer mon problème :
http://imgur.com/a/PdbQK
Comme vous pouvez le voir le header.fixed déborde (en rouge sur la partie bleu). Je souhaiterais que le header.fixed ne déborde pas sur le body, mais je ne trouve pas comment faire.
Merci de votre aide !
Bonne journée.