28220 sujets

CSS et mise en forme, CSS3

Salut, je suis en train de faire un site avec des divs partout.
Sous Mozilla ca va il ne s'affiche que les scrollbar que je veux.
Par contre sous IE j'ai des scrollbar partout et je voudrais bien les effacer. Comment faire?
Sur IE aussi, j'ai un cadre au tour de mon div général qui devrais juste faire le tour de mon div général mais sous IE il ne le fait pas alors que sous firefox oui.

Encore une question, pkoi sous firefox, j'ai un espace qui s'ajoute en bas de ma page qui fait que ca m'affiche la scrollbare générale?

En espérant que j'ai été clair, merci d'avance pour vos réponses
Modifié par the_qd (08 Jun 2005 - 19:48)
Modérateur
Je n'ai pas vraiment le temps de trouver une solution à tes soucis, mais si je me peux me permettre une suggestion, laisse tomber la scrollbar pour le contenu. La scrollbar verticale de la fenêtre fait amplement le travail, et ca n'apporte rien graphiquement à ce que ton contenu soit dans un cadre avec scrollbar. Laisse le contenu pousser le cadre tant et aussi longtemps qu'il en aura besoin.

Pourquoi ? Premièrement, esthétiquement, ce n'est pas forcément plus beau. Deuxièmement, au niveau de l'ergonomie, moi-même, n'ayant aucun handicap, j'ai du mal à naviguer sur ton site. Je me retrouve avec deux scrollbars, une pour ton contenu et l'autre pour le site complet. Même si tu corrige l'apparition de la scrollbar de la fenêtre en retirant l'espace en bas, ceux en 800x600, forcément, se retrouveront avec deux scrollbars. Donc le problème sera toujours présent.

Bref, au niveau esthétique, ergonomique et accessibilité, mettre une scrollbar au contenu est nuisible. Tu devrais songer à ca. Smiley ohwell
Modifié par Merkel (08 Jun 2005 - 19:57)
merci de ton conseil,mais ils veulent le site comme ca, c'est ca le problème l'autre soluce qu'ils voudraient c'est de faire sur toute la page comme tu le dis si bien, mais il faudrait que le menu de gauche prenne la totalité de la hauteur mais je ne sais pas comemnt faire et personne n'as répondu a mon post sur ce sujetdon cje suis un peu bloquer pour faire autrement
Modérateur
Il faut les convaincre du contraire. Ces choses-là, ca se discute avec le client.

Si tu veux le faire sur toute la page à la place, il suffit que ton menu de gauche entre dans un écran 800x600. C'est tout. Suffit de réduire les images du menu si nécessaire. J'ai l'impression que tu veux absolument que ton interface entre dans un cadre précis d'une hauteur fixe, que ce soit un div ou la fenêtre du navigateur. L'important, c'est que ton menu soit complètement visible en 800x600, sans scrollbar, et pour le contenu trop long, l'utilisateur n'aura qu'à scroller avec la bar de défilement de la fenêtre. C'est tout. Pas besoin que ton menu s'étire parfaitement à la hauteur de la fenêtre ou du cadre. C'est superficiel.
Modifié par Merkel (08 Jun 2005 - 20:34)
Modérateur
Au lieu du dégradé vers le noir, tu peux aussi t'arranger pour que le fond du menu se répète à la verticale. Cela donnerait donc l'effet recherché. Le fond prendrait toute la hauteur de la colonne de gauche. Au niveau du code, ce sera simple, c'est plus au niveau graphique qui est difficile pour faire arriver chaque répétition l'une sur l'autre pour éviter qu'on le remarque.
ben justement moi c'est plutot au niveau du code que je vois pas comment faire pour que ca prenne toute la hauteur
Modérateur
Le principe est assez simple. J'ai pas vérifié de quelle façon tu as codé ton interface, mais je vais prendre quelque chose de basique, à toi d'adapter.

Tu fais d'abord une image de fond de disons 300 pixels de haut par exemple. Tu fais en sorte que si tu repète cette image verticalement plusieurs fois, ca ne paraisse pas qu'elle se repète. Il faut qu'elle semble être une seule image. Le bas de l'image doit être identique au haut de l'image, et vice-versa. Si tu comprends pas ce que je veux dire, dis-le moi.

Au niveau du code, disons que tu as un conteneur central, comme ca :


<div id="centre">
<ul id="menu">
   <li>Section A</li>
   <li>Section B</li>
   ...
</ul>

<div id="contenu">Blah blah blah</div>
</div>


Je ne tiens pas compte de comment tu as positionné ton contenu et ton menu, mais le principe est que tu va appliquer un background au div centre, et ce background sera positionné à gauche et se répétera verticalement. Le div centre se fera pousser par le contenu. En css, ensuite, tu fais quelque chose comme ca :


div#centre {
background-image:url(images/design/bg_centre.gif);
background-position:left top;
background-repeat:repeat-y
}


J'ai écris ca un peu vite, je dois partir. J'espère que ca te donne un bon indice.