Poblème CSS avec Firefox 1.5

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Poblème CSS avec Firefox 1.5

Message par Lilive »

Bonjour,
Je ne suis pas professionnel de la programmation mais je réalise quelques sites sérieux (scientifiques). Je viens de passer à la version 1.5 de Firefox et je rencontre un problème d'affichage venant probablement de ma feuille de style : des espaces sont ajoutés entre mes mots (en particulier les liens).
Voici un exemple : http://iceramm.free.fr/bibliographie.php
Quand je désactive puis réactive la feuille de style à partir de Firefox, l'affichage se remet correctement mais dès que j'actualise la page, les espaces se rajoutent...
C'est le texte contenu dans un <div id='contenu'> défini comme suit dans mon CSS :

#contenu
{
position:absolute;
top:5px;
left:130px;
right:10px;
}

Cela me permet de positionner mon bloc le long de mon menu (sans passer par un tableau). Je me demande si ce ne sont pas ces paramètres qui s'affectent aux balises suivantes et appliques des marges entre les mots...
Est-ce un problème venant de ma feuille de style ou est-ce un bug de Firefox (ça marchait très bien sur la version précédente et sur ie).
Merci
Lilive
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Bonjour,

Tu as un "div align='justify'" dans ton contenu. Il doit y avoir un conflit avec un déclaration CSS (pas le temps d'approfondir, désolée)

Dans tous les cas, pense à indiquer ton doctype pour que les navigateurs comprennent en quelle langue tu parles, et à corriger les quelques erreurs HTML qui restent :wink:

N'hésite pas à nous demander en cas de besoin !
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Je ne vois pas d'espaces entre les mots…
Image

Par contre je dois dire qu'à part le retour en page d'accueil, tu pourrais peut-être donner un lien "retour" pour revenir à la page précédente depuis cette page ? D'ailleurs j'ai un peu de peine à saisir la page d'accueil : elle sert à quoi ? Il n'y a aucun lien :?
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Ah oui, tiens, je n'avais pas repéré ça...

Je rajoute donc à la liste des choses à revoir : ton menu doit être visible même sans Javascript :wink:
Invité

Message par Invité »

Je ne pense pas que cela vienne uniquement d'un conflit entre deux <div>. J'ai simplifier ces balises et ça corriger effectivement le problème sur certaines pages, mais sur celle-ci, fort simple, ça continue à mettre des espaces :
http://iceramm.free.fr/biblionew.php

:cry:

Les espaces ajoutés ne sont pas sélectionnables, comme s'il s'agissait de "marges" mais dont la taille varie en fonction du texte...
Si je désactive le <div id='contenu'>, l'affichage est correcte mais du coup pas positionné correctement dans la page...

Si quelqu'un a une idée de l'origine du problème... :?:
Invité

Message par Invité »

calimo a écrit :Par contre je dois dire qu'à part le retour en page d'accueil, tu pourrais peut-être donner un lien "retour" pour revenir à la page précédente depuis cette page ? D'ailleurs j'ai un peu de peine à saisir la page d'accueil : elle sert à quoi ? Il n'y a aucun lien :?
Le site est en cours de construction... la page d'accueil n'est pas bien sûr pas finie.
Pour ce qui est d'un menu sans js, j'ai essayé divers choses en css mais rien n'était aussi propre que celui-ci...
Les espaces n'apparaissent qu'avec la dernière version de Firefox...
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

OK, donc ce n'était pas le "justify". Cherchons ailleurs :wink:

Je me demande si ce ne serait pas à cause de

Code : Tout sélectionner

left:130px;
right:10px;
dans ta définition CSS de #contenu. Essaye en ne définissant que le left ?
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Un indice au cas où il vous aurait échappé, les espaces disparaissent si on désactive javascript, donc voir éventuellement du côté des css du menu.
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Message par Lilive »

Bien joué ! :D
C'était bien un conflit avec le CSS définit dans le menu en JS...
document.write('body {font-size:8pt;font-weight:normal}');
en supprimant cette ligne, ça tourne très bien !
Même si je ne comprends pas trop en quoi ce conflit pouvait engendrer un tel résultat :?:
Toujours est-il que c'est bien mieux comme ça. Merci beaucoup.

Je suis bien sûr ouvert à la possibilité de supprimer mon menu javascript, mais est-il possible d'avoir l'équivalent en CSS et PHP ? Si vous connaissez un exemple, je suis preneur.
Autre cas d'utilisation du JS : le contrôle de formulaire... Comment s'en passer ?

Est-il possible en PHP de détecter si le javascript est désactiver pour proposer à ces utilisateurs un menu alternatif ?

Un grand MERCI pour votre aide ! :D
Lilive
teoli2003
Animal mythique
Messages : 7580
Inscription : 13 nov. 2005, 09:23

Message par teoli2003 »

Lilive a écrit : Autre cas d'utilisation du JS : le contrôle de formulaire... Comment s'en passer ?
Attention: le contrôle du formulaire doit toujours avoir lieu du côté du serveur, sinon un petit malin peut contourner tous les contrôles.

On peut également le faire, en plus, du côté du client, et là, le JS n'est pas un problème puisqu'il facilite la navigation sans l'empêcher si on ne l'utilise pas.
La liberté n'est jamais accordée de bon gré par l'oppresseur; elle doit être exigée par l'opprimé (Martin Luther King).
Les convictions sont des ennemis de la vérité plus dangereux que les mensonges. (Nietzsche).
Native Mozillian.
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Message par Lilive »

Donc il faudrait juste que je contrôle en PHP les infos envoyées juste avant de mettre à jour la base de données, tout en laissant les contrôles JS côté client pour "informer" l'utilisateur des champs qui sont obligatoires ?
Bonne idée !

Et pour un menu dynamique équivalent à mon JS mais en CSS, quelqu'un a déjà vu quelque chose d'approchant en CSS (sachant que mon menu reste ouvert au niveau de la page en cours) ?

J'ai pas mal progressé ces derniers temps : sachez qu'il y a peu j'utilisais un frame pour mon menu et que ma mise en page passait par des tableaux imbriqués... Mais j'espère ne pas arrêter mes progrès en si bonne marche ! :wink:
Lilive
Asumbaa
Tyrannosaurus Rex
Messages : 2411
Inscription : 08 déc. 2004, 20:07

Message par Asumbaa »

Lilive a écrit :Donc il faudrait juste que je contrôle en PHP les infos envoyées juste avant de mettre à jour la base de données, tout en laissant les contrôles JS côté client pour "informer" l'utilisateur des champs qui sont obligatoires ?
Tout bon !

Pour le menu, voilà un chouette tutoriel chez Alsacreations. Dans le principe, un menu doit être accessible pour tout le monde, qu'on active ou pas Javascript. En l'occurence, ceux qui naviguent sans JS verront toutes tes rubriques, sans effet de clic.
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Message par Lilive »

:D Effectivement, j'ai trouvé mon bonheur !
J'ai d'autres choses plus urgentes à faire pour ce site mais, s'il me reste du temps, je saurais que ça fait partie des choses importantes à faire.
Merci encore.

Peut-on écrire dynamiquement une page CSS en PHP (pour intégrer des variables) ? Je pense à ça pour que mon menu s'ouvre au niveau de la page courante (donc passage de variables)...
Lilive
teoli2003
Animal mythique
Messages : 7580
Inscription : 13 nov. 2005, 09:23

Message par teoli2003 »

Lilive a écrit : Peut-on écrire dynamiquement une page CSS en PHP (pour intégrer des variables) ? Je pense à ça pour que mon menu s'ouvre au niveau de la page courante (donc passage de variables)...
Oui on peut!

En fait en général, on ajoute en PHP, un id="Current" dans le <LI> (ou autre) de la page courante.

Et dans la page CSS (toujours identique), on définit le rendu pour un LI standard, et un autre pour un LI avec id Current. Ainsi entre une page A et une page B, ce sont deux éléments différents du menu qui s'ouvrent (ou sont mis en évidence)

De même, uniquement avec des CSS on peut faire des menus popups pour les sous-menus (exemple: geckozone où le menu est entièrement en CSS sans javascript).
La liberté n'est jamais accordée de bon gré par l'oppresseur; elle doit être exigée par l'opprimé (Martin Luther King).
Les convictions sont des ennemis de la vérité plus dangereux que les mensonges. (Nietzsche).
Native Mozillian.
Lilive
Salamandre
Messages : 39
Inscription : 02 mars 2006, 09:50

Message par Lilive »

Super !
Je crois que je suis sur la bonne voie pour m'affranchir du javascript. :wink:
Merci.
Lilive
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités