2010-04-27 8 views
0

J'ai le code suivant dans mon fichier CSS, qui ne fonctionne pas.ID CSS et balises d'imbrication avec Haml

#home table th td { 
    border:1px solid black; 
    padding:2px; 
} 

Dans mon fichier index.haml, j'ai:

%div{:id => "home"} 
    %table 
    %tr 
     %th 
     Your Account 
    %tr 
     %td 
     #{link_to 'View my profile', @profile} 
     %br 
     #{link_to 'Edit my profile', edit_profile_path(@profile)} 
     %br 
     #{link_to 'Logout', :controller => 'admin', :action => 'logout'} 

qui crée cette source de la page (. Je sais, redondant Mais juste pour être complet):

<div id='home'> 
    <table> 
    <tr> 
     <th> 
     Your Account 
     </th> 
    </tr> 
    <tr> 
     <td> 
     <a href="/profiles/7">View my profile</a> 
     <br /> 
     <a href="/profiles/7/edit">Edit my profile</a> 
     <br /> 
     <a href="/admin/logout">Logout</a> 
     </td> 
    </tr> 
    </table> 
</div> 

Mais les bordures n'apparaissent pas lorsque je vois le fichier dans le navigateur ...

Lorsque je sépare les balises de table pour qu'elles soient

#home table { 
     border:1px solid black; 
     padding:2px; 
    } 

#home th { 
     border:1px solid black; 
     padding:2px; 
    } 

#home td { 
     border:1px solid black; 
     padding:2px; 
    } 

Cela semble bien.

Quel est le problème avec le code CSS précédent par rapport à cette version? Comment devrais-je correctement replier ces balises dans un ID unique?

Répondre

1

Après est problème, vous pouvez utiliser

Pour en-tête:

#home table tr th { 
    border:1px solid black; 
    padding:2px; 
} 

Pour cellule de tableau:

#home table tr td { 
    border:1px solid black; 
    padding:2px; 
} 

Fore plus de détails vérifier: http://www.w3schools.com/css/default.asp