Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1394 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Menu qui ne veut pas se fixer.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Menu qui ne veut pas se fixer.

n°2326044
snowden
Posté le 12-12-2018 à 11:47:41  profilanswer
 

Bonjour,
 
Je cherche à créer une page web perso mais je rencontre un petit soucis avec mon menu et mon entête.
Malgré les tutos trouvés ici et là, je n'arrive pas à fixer mon entête et mon menu et que la partie du dessous ne passe pas au delà. Le "position: fixed;" ne fonctionne pas et je ne comprend pas pourquoi.
Je l'ai enlevé après avoir testé puis échoué.
 
Merci par avance si vous arrivez à me venir en aide ;)  
 
Code HTML :
 

Code :
  1. <!DOCTYPE html>
  2. <html lang="fr" >
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title>demo</title>
  6.  
  7.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
  8.  
  9.       <link rel="stylesheet" href="css/style.css">
  10.  
  11. </head>
  12. <body>
  13.   <!-- header -->
  14. <h1><b>Juste un petit essai </b><img src="https://i.imgur.com/SKN67qN.png" width="40" height="40"></h1>
  15. <!-- menu container -->
  16. <ul class="container">
  17.     <li class="item item-1"><a href="#demo1">demo1</a></li>
  18.     <li class="item item-2"><a href="#demo2">demo2</a></li>
  19.     <li class="item item-3"><a href="#demo3">demo3</a></li>
  20.     <li class="item item-4"><a href="#demo4">demo4</a></li>
  21.     <li class="item item-5"><a href="#demo5">demo5</a></li>
  22.     <li class="item item-6"><a href="#demo6">demo6</a></li>
  23. </ul>
  24.  
  25.   <!--<div class="overlay"></div> -->
  26.              
  27.                   <div class="card">
  28.                   <section id="Accueil" class="main-section">
  29.                      <header>Juste un petit essai 2</header>
  30.                      <article>
  31.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  32.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  33.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  34.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  35.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  36.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  37.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  38.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  39.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  40.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  41.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  42.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  43.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  44.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  45.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  46.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  47.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  48.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  49.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  50.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  51.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  52.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  53.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  54.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  55.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  56.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  57.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  58.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  59.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  60.                         <p>demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo demo</p>
  61.                      </article>
  62.                      </div>
  63.                   </section>
  64.                  
  65.        
  66.       </div>
  67.    </main>
  68.   <script src='https://code.jquery.com/jquery-3.1.1.min.js'></script>
  69.  
  70.     <script  src="js/index.js"></script>
  71. </body>
  72. </html>


 
Code CSS :
 

Code :
  1. /* variables */
  2. /* colours */
  3. /* fonts */
  4. .transition, .container .item a {
  5.   transition: all 0.25s ease-in-out;
  6. }
  7. body {
  8.   height: 100%;
  9.   -webkit-perspective: 900;
  10.           perspective: 900;
  11.   background-color: rgba(220, 231, 235, 0.25);
  12.   font-family: "Ubuntu", sans-serif;
  13.   font-weight: 400;
  14.   text-align: center;
  15. }
  16. h1 {
  17.   color: #22bec6;
  18.   font-family: "Source Sans Pro", sans-serif;
  19.   font-weight: 700;
  20.   font-size: 1.75em;
  21.   text-transform: uppercase;
  22.   line-height: 1;
  23.   display: inline-block;
  24.   padding: 0.5em 0.5em;
  25.   border-bottom: 1px solid rgba(48, 69, 92, 0.2);
  26. }
  27. .container {
  28.   list-style: none;
  29.   padding: 0;
  30.   margin: 0 5%;
  31.   width: auto;
  32.   display: flex;
  33.   flex-flow: row nowrap;
  34.   justify-content: center;
  35. }
  36. .container .item {
  37.   font-family: "Ubuntu", sans-serif;
  38.   border-left: 1px solid #dce7eb;
  39. }
  40. .container .item a {
  41.   text-transform: uppercase;
  42.   font-size: 0.7em;
  43.   background: #fefffa;
  44.   color: rgba(48, 69, 92, 0.8);
  45.   padding: 1em 1em;
  46.   display: block;
  47.   text-decoration: none;
  48. }
  49. .container .item a:hover {
  50.   background: #22bec6;
  51.   color: #fefffa;
  52. }
  53. .container .item-1 {
  54.   border: none;
  55. }
  56. @media (max-width: 600px) {
  57.   .container {
  58.     flex-flow: column nowrap;
  59.   }
  60.   .container .item {
  61.     border-left: none;
  62.     border-bottom: 1px solid #dce7eb;
  63.   }
  64.   .container .item a {
  65.     padding: 1.5em 1em;
  66.   }
  67. }
  68. .card {
  69.       background: #fff;
  70.       width: 80%;
  71.       box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);
  72.       border-radius: 4px;
  73.       margin-top: 5%;
  74.       margin-bottom: 5%;
  75.       margin-right: 5%;
  76.       margin-left: 5%;
  77.     }


Message édité par snowden le 12-12-2018 à 11:48:07

---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
mood
Publicité
Posté le 12-12-2018 à 11:47:41  profilanswer
 

n°2326048
mechkurt
Posté le 12-12-2018 à 14:18:36  profilanswer
 

Je crois que tu ne comprend pas vraiment comment fonctionne le position:fixed
J’ai fait un codepen de ton code avec un position fixed sur le header.top_fixed, à partir de là, qu'est ce qui te déranges :
https://codepen.io/anon/pen/wRKBRN
 
Je supposes que "que la partie du dessous ne passe pas au delà" signifie que tu ne voudrais pas voir le contenu scroller sous ton menu, pour ça tu n'as qu'a mettre une couleur de fond à ton header ou organiser tes divs autrement...
 
...dans tous les cas position absolute et fixed sortent les blocs html du flux, à partir de là il rentreront forcement en conflit d'une manière ou d'une autre avec les blocs statiques (à moins de réserver de la place avec des padding / margin) [:airforceone].


---------------
D3
n°2326050
snowden
Posté le 12-12-2018 à 14:23:00  profilanswer
 

Bonjour mechkurt et merci d'essayer de me venir en aide.
 
Oui en effet, c'est ce que je voudrais en résultat. Qu'il y est par exemple en permanence deux ou trois cm de réservé en haut pour laisser afficher le header et le menu et sans que le contenu dessous ne viennent par dessus ou par dessous.
 
Je viens de tester ton codepen et c'est ce que j'avais déjà tenté.
 
Sur Firefox : fonctionne sauf la partie du contenu qui va dans le menu au moment du scroll
 
Sur Chrome : fonctionne pas du tout et donne ça dès le départ.
 
https://i.imgur.com/jRrvB3Z.png


Message édité par snowden le 12-12-2018 à 14:23:08

---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
n°2326057
mechkurt
Posté le 12-12-2018 à 15:43:00  profilanswer
 

Le bug sur chrome c'est à cause de ces règles :

Code :
  1. -webkit-perspective: 900;
  2.           perspective: 900;


sur le body, si tu les vires, ça donnes la même chose sur chrome et firefox...
 
Et sinon, ben comme je te le dit c'est le fonctionnement normal de fixed que le contenu passes dessous, si tu veux des especes de frame, tu peut mettre un wrapper sur ton contenu avec une height définis et un oveflow scroll, mais à mon avis tu as meilleur temps de mettre un fond (pourquoi pas semi transparent) et à conserver un ascenseur global !


---------------
D3
n°2326058
snowden
Posté le 12-12-2018 à 15:44:38  profilanswer
 

Merci pour le cours de chinois  :lol:  
 
Je vais voir tout ce que tu me dis voir si j'arrive à le mettre en place.
 
Merci en tout cas pour ton aide.


---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
n°2326093
mechkurt
Posté le 13-12-2018 à 09:50:02  profilanswer
 

Un truc du genre quoi :

Code :
  1. header.top {
  2.   position:absolute;
  3.   top:0;
  4.   left:0;
  5.   right:0;
  6. }
  7. div.main {
  8.   position:relative;
  9.   box-sizing:border-box;
  10.   height:100vh;
  11.   padding-top:160px;
  12. }
  13. div.card {
  14.   height:100%;
  15.   overflow:scroll;
  16.   margin:0 auto;
  17. }


https://codepen.io/anon/pen/wRKBRN


---------------
D3
n°2326095
snowden
Posté le 13-12-2018 à 10:36:17  profilanswer
 

Merci pour ton attention mais j'y vois un soucis. C'est qu'il y a la barre de scroll. Je voudrais plutôt que la fenêtre scroll normalement et que .card scroll mais à partir de là ou il est placé.
 
Je sais pas si je suis clair dans mon propos, je n'arrive pas à préciser correctement.


---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
n°2326102
mechkurt
Posté le 13-12-2018 à 10:59:03  profilanswer
 

Je ne comprends pas ce que tu veux faire...
 
Ben mon premier codepen avec un couleur de fond identique au body sur ton header ?


---------------
D3
n°2326116
snowden
Posté le 13-12-2018 à 12:13:11  profilanswer
 

Sur le premier codepen, il y avait un soucis :
 
fonctionne sauf la partie du contenu qui va dans le menu au moment du scroll  
 
Si je reprends ton dernier codepen, c'est exactement ça pour le "juste un petit essai avec l'image" et le "menu". Sauf qu'en dessous, il faudrait que le cadre ".card" n'est pas de scroll et que ça prenne la taille que ça doit prendre.
 
Je me doute bien que ça va ensuite scroller sous le menu mais normalement, ça ne se verra pas. Je me trompe ?
 
EDIT : voici un petit exemple de ce que je cherche à avoir :
 
https://i.imgur.com/6HOkyqO.png


Message édité par snowden le 13-12-2018 à 12:29:14

---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
n°2326125
mechkurt
Posté le 13-12-2018 à 14:31:35  profilanswer
 

Je ne comprends toujours pas, fais moi un autre visuel avec le contenu scrollé, si y'a pas d'ascenseur ils va ou ton contenu ?
 
Si quelqu'un d'autre à une idée...


---------------
D3
mood
Publicité
Posté le 13-12-2018 à 14:31:35  profilanswer
 

n°2326126
snowden
Posté le 13-12-2018 à 14:39:23  profilanswer
 

Est-ce que c'est plus compréhensible là stp ?
 
Il y a un ascenseur mais invisible. Il faut un écart entre le menu et .card et en scrollant, il s'enlève dans cet écart.
 
https://i.imgur.com/W22CqA5.png


Message édité par snowden le 13-12-2018 à 14:40:29

---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »
n°2326130
mechkurt
Posté le 13-12-2018 à 15:21:20  profilanswer
 
n°2326132
snowden
Posté le 13-12-2018 à 15:41:29  profilanswer
 

Merci beaucoup mechkurt pour m'avoir sorti du pétrin, c'est super sympa :hello:


---------------
« A l’origine de toute erreur attribuée à l’ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l’erreur à l’ordinateur. »

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Menu qui ne veut pas se fixer.

 

Sujets relatifs
Qui veut m'aider à créer un ensemble d'applications similaire à java?Fixer une div déjà fixée à un moment du scrolling.
CSS Menu navigation responsive et fixeMenu CSS invisible sur mobile
Creer une barre de menuProblème Menu Jquery SuperFish
VB : fixer une fenêtre en coin inférieur droitPlacer sous-menu en dessous des liens :'(
je n'arrive pas a créer un menu déroulant avec mes divenregistrer page web complète avec menu déroulant
Plus de sujets relatifs à : Menu qui ne veut pas se fixer.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR