Je crée un en-tête qui se fixera et restera en place une fois défilé jusqu'à un certain nombre de pixels.
Puis-je le faire en utilisant uniquement CSS et HTML ou ai-je également besoin de jquery ?
J'ai créé une démo pour que vous puissiez comprendre. Toute aide est la bienvenue!
http://jsfiddle.net/gxRC9/4/
body{ margin:0px; padding:0px; } .clear{ clear:both; } .container{ height:2000px; } .cover-photo-container{ width:700px; height: 348px; margin-bottom: 20px; background-color:red; } .small-box{ width:163px; height:100px; border:1px solid blue; float:left; } .sticky-header{ width:700px; height:50px; background:orange; postion:fixed; }
J'ai modifié la réponse de Coop. Veuillez vérifier l'exemple FIDDLE Voici mes modifications :
Vous avez besoin de JS pour gérer les événements de défilement. La meilleure façon serait de définir une nouvelle classe CSS pour une position fixe qui sera attribuée au div concerné lors du défilement au-delà d'un certain point.
HTML
CSS
jQuery
Exemple de violon : http://jsfiddle.net/gxRC9/501/
EDIT : exemple étendu
Vous pouvez utiliser
offset().top
si le point de déclenchement est inconnu mais doit se déclencher lorsque l'élément collant atteint le haut de l'écran.Exemple de violon étendu : http://jsfiddle.net/gxRC9/502/