webForumDet fria alternativet

Varför visas inte css mallen när det den ska formatera läggs i en tabell?

HTML & CSS

4 svar · 235 visningar · startad av FunTrix

Medlem sedan okt. 2003118 inlägg
Frågan#1

Har ett stort problem, så fort jag lägger in meny koden i en tabell så slutar den att använda sin css formatering, varför?

själva sidan som ska visa menyn:
<? include "conn.php"; // Databasanslutningen ?>

<html>
<head>
<link href="allmant/mall.css" rel="stylesheet" type="text/css">
<link href="allmant/meny.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div id="menycontainer">
<ul id="meny">
<?php

$query = "SELECT * FROM meny";
$result = mysql_query($query) or die (mysql_error());

while($row = mysql_fetch_assoc($result))
{
print '<tr><td><li>';
print (' <a href="'.$row['adress'].'">'.$row['namn'].'</a> ');
print '</li></tr></td>';
}

mysql_free_result($result);
?>
</ul>
</div></td>
</tr>
</table>
</body>
</html>

css mallen meny:
body {padding: 0; margin: 0;}
#content{margin: 1em 1em 1em 1em; padding: 0; float: left;}

#menycontainer{float: left; margin: 1em 0 0 0em; padding: 0;}
#meny{
margin: 0;
padding: 0;
list-style-type: none;
font-size: 10px;
}
#meny a{text-decoration: none; display: block; padding: 0.3em 0.6em; margin-bottom: 0.1em; background: #FFFFFF; border-left: 10px solid #efeded;}
#meny a:link{color: #000000;}
#meny a:visited{color: #000000;}
#meny a:hover{border-left: 10px solid #990000;}
#meny a#current{font-weight: bold;}

css mallen mall:
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;}
a:link { text-decoration: none; color: #000000}
a:visited { text-decoration: none; color: #000000}
a:active { text-decoration: none; color: #000000}
a:hover { color: #FFFFFF; background-color: #666666}
.search_button { background-color: #adadad;
border: #adadad; border-style: solid;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px}

så vad är det som har gått snett och gör så att det inte fungerar att vis css mallen meny om den ligger i en tabell som i det där fallet?

Medlem sedan okt. 20005 273 inlägg
#2

Hej.

Visa den genererade HTML-koden som din php sida skapar istället, då är det lättare att hjälpa dig. Sedan är det lättare att läsa din kod om du skriver den inom [kod]-taggar

mv icaaq

Medlem sedan okt. 2003118 inlägg
#3

HTML koden:

<html>
<head>
<link href="allmant/mall.css" rel="stylesheet" type="text/css">
<link href="allmant/meny.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><div id="menycontainer">
      <ul id="meny">
        <tr><td><li> <a href="../index.php">Startsida</a> </li></tr></td><tr><td><li> <a href="24hours.php">24Hours</a> </li></tr></td>      </ul>
    </div></td>
  </tr>
</table>
</body>
</html>
Medlem sedan dec. 20042 245 inlägg
#4

Hmm... sådär kan man nog inte lägga taggarna... ;)

UL får bara ha LI som direkt barn, alltså är:

<ul id="meny">
<tr>

...inte tillåtet. Dessutom får LI bara förekomma direkt i OL eller UL, alltså är

<td><li>

...inte tillåtet heller.

Varför använder du en tabell? Om du visar hur du vill att det ska se ut kanske vi kan komma med en lösning som inte blandar in tabeller... :)

Medlem sedan jan. 2000978 inlägg
#5

Jag tycker att du skippar tabellen helt. Det ser ganska tokigt ut och du ska inte behöva den bara för att få menyn att se snygg ut. meny.css är inte skriven med tabellen i åtanke. Det är troligen därför css-formateringen strular.

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)