847 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von petra65 Experte (1.8k Punkte)
Hallo,

ich versuche gerade ein Menü per php einzubinden (Anmerkung: bin blutige Anfängerin in php !!!)

Mein Problem ist, dass z. B. der Link leistungen.php auf der Seite nach links rutscht, also das css wohl nicht mehr greift - aber warum??
Ich weiss nicht mehr wo ich suchen soll, und hoffe auf Hilfe !!

Nehme ich den Code (steht ganz oben bei leistungen.php)
<?
$title = "Herzlich Willkommen!";
$page_name = "leistungen";
?>
aus der Seite heraus, dann steht der Link an der richtigen Stelle, setze ich den Code ein, so rutscht der Link nach links (und dann wird das Untermenü nicht mehr angezeigt.
Ich hoffe, dass ich mein Problem so einigermassen verständlich erklärt habe ???

Gruss Petra


Zur Erläuterung hier der Code:

Seite leistungen.php
<?
$title = "Leistungen";
$page_name = "leistungen";
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="SHORTCUT ICON" href="images/favicon.ico">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="description" content="....">
<meta name="keywords" content="...">
<style type="text/css" media="screen">@import url("css/inhalt.css");</style>
<style type="text/css" media="print">@import url("css/inhalt_print.css");</style>
<link rel="stylesheet" href="css/inhalt.css" media="screen">
<link rel="stylesheet" href="css/inhalt_print.css" media="print">
<script type="text/javascript" src="js/slide.js"></script>
<title>hier die Firma | <? print $title; ?></title>
</head>

<body>
<a name="top" id="top"></a>
<div id="container">
<? include("templates/menueTop.php"); ?>
<div id="head">&nbsp;</div>
<div id="main">
<div class="image_top">
<div id="slideshow">
<img src="slideshow/image_01.jpg" width="620" height="137" border="0" alt="">
</div>
</div>
<div class="clear"></div>
<h1>Herzlich Willkommen ...</h1>
<p>
Hier steht eine ganze Menge Text ...<br><br>
Hier steht eine ganze Menge Text ...<br><br>
Hier steht eine ganze Menge Text ...<br><br>
</p>
<p>
<a class="top" href="#top"><span>Seitenanfang</span></a>
</p>
</div>
<? include("templates/menue.php"); ?>
<? include("templates/footer.php"); ?>

Hier die menue.php
<? ?>
<div id="links" style="clear:left;">
<div id="menueLeft">
<a class="menueLeft<? if ($page_name == "index") {print "activemenueLeft";} ?>" href="index.php">Startseite</a><span class="hide"> | </span>
<a class="menueLeft<? if ($page_name == "leistungen") {print "activemenueLeft";} ?>" href="leistungen.php">Leistungen</a><span class="hide"> | </span>
<? if ($page_name == "leistungen") { ?>
<a class="menueLeft2<? if ($page_name2 == "a") {print "activemenueLeft2";} ?>" href="leistungen_a.php">Link 1</a><span class="hide"> | </span>
<a class="menueLeft2<? if ($page_name2 == "b") {print "activemenueLeft2";} ?>" href="leistungen_b.php">Link 2/ ästhetische Zahnpflege</a><span class="hide"> | </span>
<a class="menueLeft2<? if ($page_name2 == "c") {print "activemenueLeft2";} ?>" href="leistungen_c.php">Link 3</a><span class="hide"> | </span>
<a class="menueLeft2<? if ($page_name2 == "d") {print "activemenueLeft2";} ?>" href="leistungen_d.php">Link 4</a><span class="hide"> | </span>
<? } ?>
<a class="menueLeft<? if ($page_name == "service") {print "activemenueLeft";} ?>" href="service.php">Service</a><span class="hide"> | </span>
<a class="menueLeft<? if ($page_name == "praxisteam") {print "activemenueLeft";} ?>" href="link.php">Link</a><span class="hide"> | </span>
<br><br>
<a class="menueLeft<? if ($page_name == "kontakt") {print "activemenueLeft";} ?>" href="kontakt.php">Kontakt</a><span class="hide"> | </span>
<a class="menueLeft<? if ($page_name == "impressum") {print "activemenueLeft";} ?>" href="impressum.php">Impressum</a><span class="hide"> | </span>
</div>
</div>
<? ?>

und hier das css (inhalt.css):
*{padding:0;margin:0;}
body{padding:0;margin:0;font:90%"trebuchet ms", verdana, tahoma, sans-serif;background:#EFEFEF;color:#333366;}
#container{width:850px;margin:10px auto 15px auto;padding:0;background:#fff;border:1px solid #87001F;}
#container a.top{margin:20px 20px 0 0; padding:3px 3px 3px 3px; float:right; font-style:italic; text-align:right; border-right:1px solid #B9B9FF;border-bottom:1px solid #B9B9FF;background-color:#E3E3F0;text-decoration:none;}
#head{height:140px;color:#fff;padding:0;background:#fff url('../images/head.jpg') left no-repeat;clear:both;margin:0;border-bottom:1px solid #87001F;}
#footer{clear:both;background:#E8E8FF;color:#333366;font-size:0.9em;padding:8px 0 8px 0;text-align:center;border-top:1px dotted #87001F;}
#footer a{color:#fff;}
#footer p{text-align:center;}

#main{width:620px;float:right;margin-bottom:50px;}
#main ul{list-style:circle;margin:10px 0 10px 0;padding:0 0 0 15px;line-height:1.8em;}
#main ol{list-style:decimal;margin:10px 0 10px 0;padding:0 0 0 30px;}
#main p{margin:0;padding-right:20px;line-height:1.5em;text-align:left;}
#main p.border {margin:10px;padding:10px;line-height:1.5em;text-align:left;font-weight:bold;border:1px solid #990000;width:80%}

#menueTop{width: 760px;}
#menueTop{margin:0 auto; padding:0

2 Antworten

0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
versuchs mal mit einem Leerzeichen nach <a class="menueLeft und vor <? if ($page_name == ...

Ich nehme an, daß wenn $page_name gesetzt ist, class zu
"menueLeftactivemenueLeft" wird (statt wie vermutlich gewünscht zu "menueLeft activemenueLeft"), und diese Klasse gibt es in der CSS nicht.
0 Punkte
Beantwortet von petra65 Experte (1.8k Punkte)
Hallo Kicia,

super .... genau das wars ... nun wird alles korrekt angezeigt.

Da hätte ich wahrscheinlich noch Jahre gesucht, und hätte die Lösung nicht gefunden ;-))


Vielen vielen Dank

Gruss - Petra
...