2009-04-23 6 views
0

Je rencontre des difficultés pour organiser les éléments avec le CSS ci-dessous. Un des problèmes les plus évidents que j'ai est que le texte fort pour les en-têtes des colonnes de la table est noir, et ne correspond pas au texte fort dans l'information au-dessus du tableau.Problèmes d'organisation des calques CSS avec en-tête et tableau

Mon problème principal est que Layer3 ne va pas au fond du Layer2. Je veux qu'il soit en dessous des colonnes d'information, cependant pour l'instant le h1 de layer3 apparaît à côté de l'image de rightlayer.

Comment puis-je forcer layer3 à rester en bas de Layer2? Quelle est la meilleure façon d'organiser les informations en colonnes, par opposition à mon approche actuelle de leftlayer, leftlayer2 et rightlayer?

<html><head><title>Auctions</title> 

<link rel="stylesheet" href="stylesheet.css" type="text/css"> 
</head> 
<body> 
<div id="Layer0"> 
<div id="Layer2"> 
<h1>Org."EdHardy"Herren"Hoodie"Gelb"Gr."XL"</h1> 
<div id="leftlayer" class="leftlayer"> 
<p><strong>Username: </strong>trend-mode-2008 
</p> 
<p><strong>Article Number: </strong>250405322811 
</p> 
<p><strong>Subtitle: </strong>Original Neu Kollekt 
</p> 
<p><strong>Auction Start: </strong>11.4.2009 
16:46:29 </p> 
<p><strong>Auction End: </strong>21.4.2009 16:46:29 
</p> 
<p><strong>Auction Type: </strong>Buy Now 
</p> 
<p><strong>Category: </strong>Jacken 
</p> 
</div> 
<div class="leftlayer2"> 
<p><strong>Condition: </strong> New 
</p> 
<p><strong>Total Items: </strong> 6 
</p> 
<p><strong>Total Sales: </strong> 1 
</p> 
<p><strong>Start Price: &#8364;</strong> 0.00 
</p> 
<p><strong>Buyitnow Price: &#8364;</strong> 89.00 
</p> 
<p><strong>Bids: </strong> 1 </p> 
<p><strong>Revised: </strong> No 
</p> 
</div> 
<div class="leftlayer2"> 
<p><strong>Private: </strong> No 
</p> 
<p><strong>Finished: </strong> No 
</p> 
<p><strong>Cancelled: </strong> No 
</p> 
<p><strong>Paypal: </strong> No 
</p> 
<p><strong>Country: </strong> Germany 
</p> 
<p><strong>Location: </strong> Herne 
</p> 
<p><strong>Shipping to: </strong> Germany</p> 
<form name="categoryForm"> 
<p><input name="radiobutton" value="fakeapproved" type="radio">Fake (Approved)</p> 
<p><input name="radiobutton" value="fakesuspected" type="radio">Fake (Suspected)</p> 
<p><input name="radiobutton" value="keyword" type="radio">Forbidden Keywords</p> 
<p><input name="radiobutton" value="parallelimport" type="radio">Parallel Imports 
<input name="Submit" value="Update" onclick="handleClick('250405322811', 'Hardy', '1', '250405325721', 'trend-mode-2008');return false" type="submit"></p> 
</form> 
</div> 
<div id="rightlayer"><a href="#" onclick="makewindows(&amp;amp;quot;&lt;img src='..\/images\/250405322811.jpg' &gt;&amp;amp;quot;); return false;"> 
<img src="../images/250405322811.jpg" height="100" width="100"></a> 
<p><a href="#" onclick="makewindows(&amp&lt;quot;); return false;">Click 
for full description </a></p> 
<p><a href="#" onclick="deleteRec('250405322811', 'Hardy', '1', '250405325721')">DELETE</a> 
</p> 
</div> 
<div id="Layer3"> 
<h1>Hardy Auctions</h1> 
<table border="0" width="85%"> 
<tbody> 
<tr> 
<td width="15%"><strong>Seller ID</strong></td> 
<td width="10%"><strong>Start Date</strong></td> 
<td width="65%"><strong>&gt;Description</strong></td> 
<td width="10%"><strong>Category</strong></td> 
</tr> 
<tr id="article_250405322811"> 
<td><a href="#" onclick="updateByUser('trend-mode-2008','')">trend-mode-2008</a></td> 
<td><a href="#" onclick="updateByPk('Layer2', '250405322811', 'Hardy', '1')">11 
04 2009</a></td> 
<td><a href="#" onclick="updateByPk('Layer2', '250405322811', 'Hardy', '1')">Org."EdHardy"Herren"Hoodie"Gelb"Gr."XL"</a></td> 
<td></td> 
</tr> 
</tbody> 
</table> 
</div> 
<div id="tablefooter" class="tablefooter"> 
<div id="tablefooterleft" class="tablefooterleft"><a href="#" onclick="updateByPage('Layer3', 'Hardy', '1')">&lt;&lt;-First 
</a><a href="#" onclick="updateByPage('Layer3', 'Hardy', '1')">&lt;-Previous</a>-----------------------------------------------------------------<a href="#" onclick="updateByPage('Layer3', 'Hardy', '2')"> 
Next -&gt; </a><a href="#" onclick="updateByPage('Layer3', 'Hardy', '7')"> Last 
-&gt;&gt;</a></div> 
</div> 
</div> 
</div> 
</body></html> 

et le CSS:

#Layer0 { 
    width: 100%; 
    height: 100%; 
} 

body{ 
margin:10px 10px 0px 10px; 
padding:0px; 
color:#999999; 
font-family:"Trebuchet MS",arial,sans-serif; 
font-size:70.5%; 

} 

#Layer2 { 
background:#fff; 
color:#000; 
voice-family: "\"}\""; 
voice-family: inherit; 
padding:20px; 

} 

#Layer2 p {color:#888;} 

#Layer2 a, a:link { color:#006633; text-decoration: none;} 

#Layer2 a:hover, a:active{ color:#FF6666; text-decoration: none;} 

html>body #Layer2 { 
} 

p,h1,pre { 
margin:0px 10px 10px 10px; 
font:Arial, Helvetica, sans-serif; 
font-size:12px; 
line-height: 1.6em; 
text-align:justify; 
text-decoration:none; 
} 

h1 { 
font-size:2.5em; 
text-align: center; 
color:#ccc; 
padding-top:15px; 

} 

h3 { 
font-size:14px; 
color:#999; 

} 

.leftlayer { 
    float: left; 
    left: 20%; 
    width: 20%; 
    height: 100%; 
    margin-right: 10%; 
} 
.leftlayer strong { 
    text-align: left; 
} 
.leftlayer2 { 
    float: left; 
    width: 20%; 
    height: 100%; 
    margin-left: 2%; 
} 
#rightlayer { 
    float: left; 
} 
#Layer3 { 
    float: bottom; 
} 

Répondre

2

C'est une bonne quantité de code que j'ai dû lire. Permettez-moi de commencer par quelques remarques:

le style de codage
    d'abord
  • tout, est un peu old-school:
    • utilisant ids non-sémantiques, comme « leftsomething » est pas optimale dans la long terme
    • liens sans cible appropriée sont également non-sémantique
    • la propriété onclick doit être remplacé par des gestionnaires d'événements générés javascript-
  • comme Dave already pointed out, la propriété « float » CSS ne peut pas être réglé sur « bas », vous devez utiliser « claire » au lieu
  • ne définissent pas les propriétés de style dans votre code HTML, comme votre table border et la largeur des cellules

Pour créer une mise en page, vous pouvez consulter htmldog, il y a un nice tutorial. Changez les noms de vos couches en des noms plus significatifs, comme #article, #price, #status, pour ne pas devenir confus lors de la refonte.

Vous devez également mettre Eric Meyer's CSS reset en haut de votre feuille de style pour ne pas être biaisé par le navigateur de votre choix lors de la définition des marges, des rognures et des polices.Et n'oubliez pas de mettre des étiquettes à côté de vos boutons radio, ce sera donc une cible plus facile pour l'utilisateur: cliquer sur l'étiquette associée, c'est comme cliquer sur le bouton lui-même. C'est un peu délicat, car vous avez besoin d'identifiants uniques pour les choix, alors que vous devez utiliser le même nom, car le nom est utilisé du côté du serveur tandis que l'identifiant utilisé par la balise label est un crochet. Vous pouvez créer des noms uniques par exemple en combinant le nom et la valeur de l'entrée donnée, par exemple:

<p><input name="radiobutton" value="fakeapproved" type="radio" id="radiobutton_fakeapproved"><label for="radiobutton_fakeapproved">Fake (Approved)</label></p>

<p><input name="radiobutton" value="fakesuspected" type="radio" id="radiobutton_fakesuspected"><label for="radiobutton_fakesuspected">Fake (Suspected)</label></p>

3

Le flotteur règle: fond; n'est pas valide. Il y a three valid values pour le flotteur. Ils sont à gauche, à droite et aucun. Si vous voulez que div se termine, vous devez le régler pour effacer le flottant div précédent en changeant float: bottom; effacer: les deux; ou clair: à gauche;

0

Vous avez plus d'un problème css validation:

15 #Layer2  Value Error : voice-family Parse Error :"\" 
18 \" Parse Error \""; voice-family:inherit; 
21  Parse Error :20px; } #Layer2 p 
36 p, h1, pre Value Error : font Arial is not a font-size value : Arial,Helvetica,sans-serif 
72 #Layer3  Value Error : float bottom is not a float value : bottom 

aucun moyen de savoir si c'est la cause de votre problème spécifique jusqu'à ce que vous le réparer. Je recommande également de se débarrasser d'autant de css extrinsèque que possible pour réduire votre problème à sa forme la plus simple avant de demander de l'aide. Sinon, des gens comme moi doivent lire un tas de css inutiles de polices et de voix qui n'ont rien à voir avec le positionnement.

+0

je fixe la problem..it de validation a été provoquée par un formateur de code, et n'était pas la raison derrière mon problème. J'ai laissé tous les css dedans, car je n'étais pas sûr de ce qui pourrait causer le problème. J'ai supprimé plus de la moitié du fichier original pour essayer de le réduire. –