2009-03-31 5 views
0

J'ai CSS qui formate les étiquettes au-dessus des éléments d'entrée de formulaire et je voudrais remplacer les éléments d'entrée par du texte de la base de données si je ne fais que lire en lecture seule Les données.Formulaire de style avec le texte SPAN au lieu de saisir ou de sélectionner des contrôles

Quoi que je fasse, changer les champs de saisie en span ou asp: label ne rendra pas correctement l'étiquette au-dessus du texte.

J'utilise ce CSS:

div.formRow { 
    padding: 2px 0px; 
} 

span.formItem { 
    display: inline-block; 
    position: relative; 
    padding: 0px 5px; 
} 
span.formItem label { 
    position: absolute; 
    left: 5px; 
    top: 0px; 
} 
span.formItem input, span.formItem select { 
    margin-top: 20px; 
} 
+0

Pouvez-vous également nous donner un exemple de HTML rendu que vous essayez de styler? Merci. –

Répondre

1

Je devine que vous devez ajouter display: block au champ d'entrée travées de remplacement.

+0

Ça marche - mais pourquoi? – Caveatrob

+0

Je suppose que vous avez ajouté "span.formItem span" ou plus à la "marge supérieure: 20px;" règle? Les travées sont des éléments en ligne et les marges verticales ne s'appliquent pas à celles-ci (http://www.w3.org/TR/CSS21/box.html#margin-properties), de sorte que la marge supérieure ne fonctionne que si vous vous assurez que span est un élément de niveau bloc. – mercator

Questions connexes