28220 sujets

CSS et mise en forme, CSS3

Bonsoir à tous,

Voilà je suis en train d'intégré mon site en css et je viens d'avoir un "bug" assez étrange...

Je test mon site sous FF et tout marche très bien, j'ai une image en background, avec un cadre de contenu dedans (qui me permet de scroller) et à l'intérieur de ce cadre je fais une liste où à chaque élement est associé un lien. Sous FF ça marche très bien (à part que quand je clic sur le lien une scrollbarre horizaontale apparait Smiley confus ) : mes liens s'affichent et je peux cliquer dessus mais sous IE, rien ne s'affiche...

Voici mon code, j'espère que quelqu'un comprendra d'où provient le "bug".


#catalogue_auteur_affiche{
	background-image:url(images/onglets_entiers/catalogue_auteurs.gif);
	background-repeat:no-repeat;
	height:469px;
	width:215px;
	position:absolute;
	top:168px;
	left:25px;
}

#catalogue_auteur_scroll{
	position:absolute;
	height:430px;
	width:222px;
	top:35px;
	left:-10px;
	overflow:auto;
}

#catalogue_auteur_scroll ul {
	position:relative;
	list-style-type:none;
	margin: 0 0 0 0;
	padding: 10px 0 0 20px;
}

#catalogue_auteur_scroll ul li {
	color:#FFFFFF;
	background-image:url(images/icone_liste.gif);
	background-repeat:no-repeat;
	margin: 1em 0 1em 0;
	background-position: 1px 0px;
	padding:0px 0 5px 20px;
	height:18px;
}

#catalogue_auteur_scroll ul li a{
	color:#FFFFFF;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:11px;
	display: block;
	text-decoration: none;
}

#catalogue_auteur_scroll ul li a:hover{
	color:#FFFFFF;
	border:0;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:11px;
	}


Et je l'appel comme ça dans mon HTML :


		<div id="catalogue_auteur_affiche">
			<div id="catalogue_auteur_scroll">
				<ul>
				<?
				$sql_auteur="SELECT * FROM biographie";
				$req_auteur=mysql_query($sql_auteur) or die (mysql_error());
				while ($auteur=mysql_fetch_array($req_auteur)) {
					$auteur=$auteur['nom'];
				?>
					<a href='#'><li><?=$auteur?></li></a>
				<?
				}
				?>
				</ul>
			</div>
		</div>


Merci d'avance pour votre aide et bonne fin de week-end! Smiley cligne

Aurélie

P.S : je voulais juste préciser que j'avais essayer avec la méthode de ce site
http://openweb.eu.org/articles/overflow_fond_fixe/[/url]
mais que comme je ne voulais pas scroller sur toute la hauteur de l'image, j'ai essayé un autre méthode...
Modifié par lilie507 (28 Jan 2006 - 22:32)
Bonsoir,

Alors je ne sais pas si c'est directement lié a ton probleme mais il y a une erreur dans ta source.
Ta liste <ul> doit contenir des elements <li>.
Tu devrais avoir ca :

<li><a href='#'><?=$auteur?></a></li>
nikos a écrit :
Bonsoir,

Alors je ne sais pas si c'est directement lié a ton probleme mais il y a une erreur dans ta source.
Ta liste <ul> doit contenir des elements <li>.
Tu devrais avoir ca :

<li><a href='#'><?=$auteur?></a></li>


Merci de ton aide mais malheureusement ça ne vient pas de ça ... Smiley bawling

Ce qui est assez étrange c'est que les liens apparaissent mais que la souris ne change pas quand je passe dessus (comme sur un lien normal), que les attributs que j'ai précisé pour les liens ne s'appliquent pas et que bizzarement on dirait que la liste se repositionne lorsque je passe le souris dessus (l'élément grossit et repositionne les autres Smiley eek ) c'est assez étrange...

Merci pour ton aide nikos et merci d'avance aux autres

Bonne soirée
Modifié par lilie507 (28 Jan 2006 - 23:07)
ce qui ne vas pas:

<a href='#'><li><?=$auteur?></li></a>


à remplacer par
<li><a href="#"><? $auteur ?></a></li>

avec des guillemets doubles
Modérateur
bonjour,

Par curiosite d'abord (je bricole un peu le php de façon "empirique"), je ne comprends pas comment $auteur peut-etre afficher comme ceci.
<li><a href="#"><? $auteur ?></a></li>

dans le premier poste je vois "=$auteur" , que je ne comprends pas non plus, pour moi il y a print et echo pour afficher une variable a l'ecran, et j'affiche ce genre de code plutot comme ceci:
<li><a href="#"><?php  echo  $auteur ?></a></li>
.
Y a t-il effectivement une erreur a ce niveau la ,
et plutot que seulement le code php,
serait t'il possible de voir le code html generer par le serveur, histoire de voir si une "erreur php" ne "zapperais" pas tes balises fermantes a l'affichage ou laisserais tout simplement vide la balise <a> qui alors serait "incliquable , ... puisque vide !?

a plus
Oui en effet, il manque echo "$auteur" ou print "$auteur"... Je suppose que le '=' était fait pour construire une variable d'url du type:
<?php print "page.php?auteur=$auteur" ?>
a écrit :
histoire de voir si une "erreur php" ne "zapperais" pas tes balises fermantes a l'affichage ou laisserais tout simplement vide la balise <a> qui alors serait "incliquable , ... puisque vide !?


Je ne vois pas de quelles balises fermantes tu parles... PHP n'en a besoin que d'une: ?> précédé de <? ou <?php. Par contre sans l'emploi de print ou echo, la balise <a> ne contiendra rien et risque bien d'être incliquable.
Modifié par ilhooq (29 Jan 2006 - 03:51)
Bonjour à tous!!

Déjà merci beaucoup pour votre aide, il semblerait que IE ne comprennait pas la ligne de code suivante :


<li><a href=""><?=$auteur ;?></a></li>


Pourtant cette ligne marche très bien puisque je l'utilise toujours et il n'y a, à priori aucun problème sauf ici (en fait = remplace echo en PHP).

Merci beaucoup et bon dimanche !

Aurélie
Modifié par lilie507 (29 Jan 2006 - 17:42)
Essaye avec echo ou print avec <?php ?> c'est plus clair et de plus, ça fonctionne nickel dans tous les cas.
a écrit :
short_open_tag boolean
Définit si les balises courtes d'ouverture de PHP (<? ?>) sont autorisées ou non. Si vous voulez utiliser PHP avec XML, vous devez désactiver cette option de configuration pour pouvoir utiliser <?xml ?>. Sinon, vous pouvez l'écrire à l'aide de PHP, par exemple : <?php echo '<?xml version="1.0"'; ?>. Si cette option est désactivée, vous devez utiliser la version longue d'ouverture de balises PHP (<?php ?>).

Note : Cette directive affecte également l'utilisation de <?=, qui est identique à <? echo. L'utilisation de cette écriture nécessite que l'option short_open_tag soit activée. to be on