fixed, z-index vs scroll [CSS] - HTML/CSS - Programmation
MarshPosté le 31-07-2014 à 09:22:29
Bonjour, je vous expose mon problème. J'ai un menu déroulant qui apparait en JS (sur portable) et mon problème c'est que je n'arrive pas à "descendre" ou plutôt "scroller" sur le menu quand celui-ci occupe TOUTE la place... En fait le scroll est toujours sur la page mais DERRIERE... j'ai essayer overflow mais sans succès... Bref je galère. Voilà mon code HTML
</head> <body style="background-color: rgb(180, 180, 180)"> <div style="position: fixed; z-index: 1; width: 100%; top: 0px;"> <ul class="slimmenu" > <li> <a href="#">Politique</a> <ul> <li> <a href="#">Présidence</a> </li> <li> <a href="#">Ministère</a> <ul> <li><a href="#">Premier ministre (Manuel Valls)</a></li> <li><a href="#">Ministère des affaires étrangères</a></li> <li><a href="#">Ministère de l'écologie</a></li> <li><a href="#">Ministère de l'éducation nationale</a></li> <li><a href="#">Ministère de la justice</a></li> <li><a href="#">Ministère des finances</a></li> <li><a href="#">Ministère de l'économie et du numérique</a></li> <li><a href="#">Ministère des affaires sociales et de la santé</a></li> <li><a href="#">Ministère du travail et de l'emploi</a></li> <li><a href="#">Ministère de la défense</a></li> <li><a href="#">Ministère de l'intérieur</a></li> <li><a href="#">Ministère des droits des femmes, jeunesse</a></li> <li><a href="#">Ministère de la fonction publique</a></li> <li><a href="#">Ministère de la culture et communication</a></li> <li><a href="#">Ministère de l'agriculture</a></li> <li><a href="#">Ministère de l'égalité des territoires</a></li> <li><a href="#">Ministère des outre-mer</a></li> <li> <a href="#">Slim Menu 1.1.2</a> <ul> <li><a href="#">Slim Menu 1.1.2.1</a></li> <li><a href="#">Slim Menu 1.1.2.2</a></li> </ul> </li> </ul> </li> <li><a href="#">Slim Menu 1.2</a></li> </ul> </li> <li><a href="#">Slim Menu 2</a></li> <li> <a href="#">Slim Menu 3</a> <ul> <li> <a href="#">Slim Menu 3.1</a> <ul> <li><a href="#">Slim Menu 3.1.1</a></li> <li><a href="#">Slim Menu 3.1.2</a></li> </ul> </li> <li><a href="#">Slim Menu 3.2</a></li> </ul> </li> <li><a href="#">Slim Menu 4</a></li> </ul> </div> <div style="position: relative; z-index: 1;"> <?php include("signupu.php" ); ?> </div> <br /> <br /> <br /> <br /> <script> $('ul.slimmenu').slimmenu( { resizeWidth: '800', /* Navigation menu will be collapsed when document width is below this size or equal to it. */ collapserTitle:' LE NOUVEAU JOURNAL', /* Collapsed menu title. */ animSpeed: 'medium', /* Speed of the submenu expand and collapse animation. */ easingEffect: null, /* Easing effect that will be used when expanding and collapsing menu and submenus. */ indentChildren: false, /* Indentation option for the responsive collapsed submenus. If set to true, all submenus will be indented with the value of the option below. */ childrenIndenter: ' ' /* Responsive submenus will be indented with this character according to their level. */ }); </script> </body> </html>[/HTML]
ul.slimmenu.collapsed li { display: block; width: 100%; z-index:3; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box } ul.slimmenu.collapsed li a { display: block; border-bottom: 1px solid rgba(0, 0, 0, 0.075); z-index:3; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box } ul.slimmenu.collapsed li .sub-collapser { height: 40px; z-index:3; } ul.slimmenu.collapsed li > ul { z-index:3; display: none; position: static; } ul.slimmenu li ul li ul li{ background-color: rgb(190, 190, 190); z-index:3;} ul.slimmenu li ul li ul li ul li{ background-color: rgb(205, 205, 205); z-index:3;}[/CSS]
Voilà je vois pas où est le problème... Mais je sais qu'il y en a un :-/
Marsh Posté le 31-07-2014 à 09:22:29
Bonjour, je vous expose mon problème.
J'ai un menu déroulant qui apparait en JS (sur portable) et mon problème c'est que je n'arrive pas à "descendre" ou plutôt "scroller" sur le menu quand celui-ci occupe TOUTE la place...
En fait le scroll est toujours sur la page mais DERRIERE... j'ai essayer overflow mais sans succès... Bref je galère.
Voilà mon code HTML
[HTML]
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<noscript><meta http-equiv="refresh" content="0; url=signupu.php"/></noscript>
<title>Responsive Mobile Menu</title>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<link rel="stylesheet" href="rmm-css/responsivemobilemenu.css" type="text/css"/>
<script type="text/javascript" src="rmm-js/responsivemobilemenu.js"></script>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, user-scalable=1"/>
<meta charset="utf-8"/>
<link rel="stylesheet" href="slimmenu.css" type="text/css">
<script src="jquery.slimmenu.js">
</script>
</head>
<body style="background-color: rgb(180, 180, 180)">
<div style="position: fixed; z-index: 1; width: 100%; top: 0px;">
<ul class="slimmenu" >
<li>
<a href="#">Politique</a>
<ul>
<li>
<a href="#">Présidence</a>
</li>
<li>
<a href="#">Ministère</a>
<ul>
<li><a href="#">Premier ministre (Manuel Valls)</a></li>
<li><a href="#">Ministère des affaires étrangères</a></li>
<li><a href="#">Ministère de l'écologie</a></li>
<li><a href="#">Ministère de l'éducation nationale</a></li>
<li><a href="#">Ministère de la justice</a></li>
<li><a href="#">Ministère des finances</a></li>
<li><a href="#">Ministère de l'économie et du numérique</a></li>
<li><a href="#">Ministère des affaires sociales et de la santé</a></li>
<li><a href="#">Ministère du travail et de l'emploi</a></li>
<li><a href="#">Ministère de la défense</a></li>
<li><a href="#">Ministère de l'intérieur</a></li>
<li><a href="#">Ministère des droits des femmes, jeunesse</a></li>
<li><a href="#">Ministère de la fonction publique</a></li>
<li><a href="#">Ministère de la culture et communication</a></li>
<li><a href="#">Ministère de l'agriculture</a></li>
<li><a href="#">Ministère de l'égalité des territoires</a></li>
<li><a href="#">Ministère des outre-mer</a></li>
<li>
<a href="#">Slim Menu 1.1.2</a>
<ul>
<li><a href="#">Slim Menu 1.1.2.1</a></li>
<li><a href="#">Slim Menu 1.1.2.2</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Slim Menu 1.2</a></li>
</ul>
</li>
<li><a href="#">Slim Menu 2</a></li>
<li>
<a href="#">Slim Menu 3</a>
<ul>
<li>
<a href="#">Slim Menu 3.1</a>
<ul>
<li><a href="#">Slim Menu 3.1.1</a></li>
<li><a href="#">Slim Menu 3.1.2</a></li>
</ul>
</li>
<li><a href="#">Slim Menu 3.2</a></li>
</ul>
</li>
<li><a href="#">Slim Menu 4</a></li>
</ul>
</div>
<div style="position: relative; z-index: 1;">
<?php include("signupu.php" ); ?>
</div>
<br />
<br />
<br />
<br />
<script>
$('ul.slimmenu').slimmenu( { resizeWidth: '800', /* Navigation menu will be collapsed when document width is below this size or equal to it. */ collapserTitle:' LE NOUVEAU JOURNAL', /* Collapsed menu title. */ animSpeed: 'medium', /* Speed of the submenu expand and collapse animation. */ easingEffect: null, /* Easing effect that will be used when expanding and collapsing menu and submenus. */ indentChildren: false, /* Indentation option for the responsive collapsed submenus. If set to true, all submenus will be indented with the value of the option below. */ childrenIndenter: ' ' /* Responsive submenus will be indented with this character according to their level. */ });
</script>
</body>
</html>[/HTML]
Et css
[CSS]
.menu-collapser {
position: fixed;
background-attachment: fixed;
background-color: rgb(50, 210, 180);
color: white;
width: 100%;
height: 60px;
text-align: center;
line-height: 60px;
font-size: 23px;
padding: 0 8px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
z-index: 4;
}
.collapse-button {
position: absolute;
right: 7px;
top: 49%;
width: 50px;
background-color: rgb(50, 210, 180);
background-repeat: repeat-x;
border-radius: 4px 4px 4px 4px;
border-style: solid;
border-width: 1px;
color: rgb(50, 210, 180) ;
padding: 7px 10px;
cursor: pointer;
font-size: 14px;
text-align: center;
z-index: 3;
transform: translate(0, -50%);
-o-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
-moz-transform: translate(0, -50%);
-webkit-transform: translate(0, -50%);
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.collapse-button:hover, .collapse-button:focus {
background-image: none;
background-color: rgb(50, 180, 210);
color: rgb(50, 210, 180);
}
.collapse-button .icon-bar {
background-color: #F5F5F5;
border-radius: 1px 1px 1px 1px;
display: block;
height: 6px;
width: 28px;
margin-bottom: 2px;
margin-top: 2px;
}
ul.slimmenu {
background-attachment: fixed;
position: fixed;
list-style-type: none;
margin-top: 60px;
padding: 0;
width: 100%;
z-index: 2;
}
ul.slimmenu li {
background-attachment: scroll;
position: relative;
display: inline-block;
background-color: rgb(155, 155, 155);
z-index: 3;
}
ul.slimmenu > li { margin-right: -5px; border-left: 1px solid #999;
z-index:3;
}
ul.slimmenu > li:first-child { border-left: 0;
z-index:3;
}
ul.slimmenu > li:last-child { margin-right: 0;
z-index:3;}
ul.slimmenu li a {
z-index:3;
display: block;
color: #333;
padding: 12px 64px 12px 16px;
font-family: 'Open Sans', sans-serif;
font-size: 16px;
font-weight: 400;
text-shadow: 0 1px 0 rgba(255,255,255,0.2);
transition: background-color 0.5s ease-out;
-o-transition: background-color 0.5s ease-out;
-moz-transition: background-color 0.5s ease-out;
-webkit-transition: background-color 0.5s ease-out;
}
ul.slimmenu li a:hover {
background-color: #999;
text-decoration: none;
z-index:3;
}
ul.slimmenu li .sub-collapser {
position: absolute;
right: 0;
top: 0;
z-index:3;
width: 48px;
text-align: center;
z-index: 999;
cursor: pointer;
}
ul.slimmenu li .sub-collapser:before {
content: '';
display: inline-block;
height: 100%;
z-index:3;
vertical-align: middle;
margin-right: -0.25em;
}
ul.slimmenu li .sub-collapser > i {
color: #333;
font-size: 20px;
z-index:3;
height: 25px;
display: inline-block;
vertical-align: middle;
}
ul.slimmenu li ul {
margin: 0;
list-style-type: none;
z-index:3;
}
ul.slimmenu li ul li { background-color: rgb(175, 175, 175);
z-index:3;
}
ul.slimmenu li > ul {
display: none;
position: fixed;
left: 0;
top: 100%;
z-index: 3;
width: 100%;
}
ul.slimmenu li > ul > li ul {
display: none;
position: fixed;
left: 100%;
top: 0;
z-index: 3;
width: 100%;
}
ul.slimmenu.collapsed li {
display: block;
width: 100%;
z-index:3;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box
}
ul.slimmenu.collapsed li a {
display: block;
border-bottom: 1px solid rgba(0, 0, 0, 0.075);
z-index:3;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box
}
ul.slimmenu.collapsed li .sub-collapser {
height: 40px;
z-index:3;
}
ul.slimmenu.collapsed li > ul {
z-index:3;
display: none;
position: static;
}
ul.slimmenu li ul li ul li{ background-color: rgb(190, 190, 190);
z-index:3;}
ul.slimmenu li ul li ul li ul li{ background-color: rgb(205, 205, 205);
z-index:3;}[/CSS]
Voilà je vois pas où est le problème... Mais je sais qu'il y en a un :-/