Ont une position fixe div qui doit de défilement si le contenu déborde
J'ai fait deux questions, mais permet de résoudre le principal problème que je crois que l'autre est plus facile à traiter.
J'ai une position fixe de la div sur le côté gauche de la de défilement d'un menu. Côté droit est une norme div qui défile correctement. Le problème est que lorsque l'affichage du navigateur-port est trop petit pour voir le menu complet.. il n'y a aucun moyen de l'obtenir pour faire défiler que je peux trouver (du moins pas avec les css). J'ai essayé en utilisant différents débordements dans le css, mais rien ne rend la div de défilement. La div qui contient le menu est réglé sur min-height:100% et position:fixe.. les deux attributs j'ai besoin de garder.
La div contenant le menu est à l'intérieur d'un autre wrapper div qui est en position absolue et à hauteur de 100%.
Comment puis-je obtenir pour faire défiler verticalement si le contenu est trop grand pour le div?
Qui m'amène à une autre question, que je ne veux pas d'une barre de défilement pour afficher.. mais je pense que j'ai peut-être déjà une réponse à cette (seulement il ne fonctionne pas encore, parce que je ne peux pas obtenir la div pour faire défiler pour commencer).
Toutes les solutions? Peut-être que javascript est nécessaire? (dont je sais peu de choses sur)
et le code qui est à l'origine du problème (puisque l'envoi de l'ensemble de la chose ici est waaay trop long):
.fixed-content {
min-height:100%;
position:fixed;
overflow-y:scroll;
overflow-x:hidden;
}
Également essayé d'ajouter de la hauteur:100% ainsi juste pour voir si c'était un problème, mais il ne fonctionne pas non plus... ni n'a une hauteur fixe, comme 600px.
- Merci de poster un jsfiddle avec le html et le css que vous utilisez actuellement pour qu'on puisse voir le problème. Merci!
- avez-vous essayé overflow: auto; ?
- Oui overflow:auto ou overflow-y:scroll ou overflow:scroll tous ne permettent pas de fixe div pour faire défiler.
- La raison de défilement nécessaire, c'est si un div a TROP de contenu dans la définition de sa longueur. Si la vue navigateur de port réduit qui ne causerait pas de la div pour forcer une action de défilement de toute façon.
- Ne pouvez pas poster un JSfiddle et html/css parce que c'est juste waaay trop longtemps et ils ne les laissez pas vous poster un JSfiddle lien sans le code. 🙁 J'ai posté juste le morceau de code qui ne semble pas être d'aider l'div défilement.. et le lien à l'ensemble de la chose.
Vous devez vous connecter pour publier un commentaire.
Le problème avec l'aide de
height:100%
est qu'il sera de 100% de la page au lieu de 100% de la fenêtre (comme vous le feriez probablement attendre d'elle). Ce sera la cause du problème que vous voyez, parce que le non-fixe le contenu est assez longue pour inclure le contenu fixe à 100% de la hauteur sans nécessiter une barre de défilement. Le navigateur ne sait pas/que vous ne pouvez pas le fait que la barre de défilement vers le bas pour voirVous pouvez utiliser
fixed
pour accomplir ce que vous essayez de faire.Cette fourche de votre violon montre mon fix:
http://jsfiddle.net/strider820/84AsW/1/
Voici deux correctifs.
Tout d'abord, concernant la fixe à la barre latérale, vous avez besoin de lui donner une hauteur pour qu'il overflow:
Code HTML:
Code CSS:
Live exemple:
http://jsfiddle.net/RWxGX/3/
Il est impossible de ne PAS obtenir une barre de défilement si le contenu dépasse la hauteur de la div. C'est pourquoi j'ai ajouté une media query pour la hauteur de l'écran. Peut-être que vous pouvez ajuster vos styles pour de courtes tailles d'écran de sorte que le défilement n'a pas besoin d'apparaître.
Cheers,
Ignacio
Généralement parlant, la partie fixe doit être définie avec
width
,height
ettop
,bottom
propriétés, sinon il refuse de reconnaître sa taille et sa position.Si la boîte est l'enfant direct pour le corps et a des voisins, alors il est logique de vérifier
z-index
ettop, left
propriétés, car ils pourraient se chevaucher les uns les autres, ce qui peut affecter votre souris survole pendant le défilement du contenu.Voici la solution pour une boîte de contenu (un enfant direct de
body
tag) qui est couramment utilisé avec la navigation mobile.Espère que cela aide quelqu'un. Merci!!!!
Laisser une réponse pour tous ceux qui cherchent à faire quelque chose de similaire, mais dans un horizontale direction, comme je le voulais.
Peaufiner @strider820's réponse comme ci-dessous permettra de faire de la magie:
Que c'est. Vérifiez également ce commentaire où @train expliqué à l'aide de
overflow:auto
suroverflow:scroll
.