2012-02-04 4 views
0

J'ai lu quelques problèmes similaires ici, mais aucune réponse fournie ne pourrait m'aider.CSS dans un fichier externe ne pas être appliqué

J'ai une petite page asp.net pour l'étude porpuses:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 

Inherits="Site.Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <link rel="Stylesheet" type="text/css" href="/css/Landing.css" /> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="loginHeader" class="aaa"> 
     <div> 
      <asp:TextBox ID="txtUsername" runat="server"/> 
      <asp:TextBox ID="txtPassword" runat="server"/> 
      <asp:Button ID="Button1" runat="server" Text="Login" OnClick="btnLogin_Click" /> 
      <asp:Button ID="Button2" runat="server" Text="Register" OnClick="btnRegister_Click" /> 
      <br /> 
      <asp:Label ID="Label1" runat="server" Text="Password not valid" Visible="False"/> 
     </div> 
    </div> 
    </form> 
</body> 
</html> 

Comme vous pouvez le voir, le fichier CSS css/atterrissage est ajouté. Voici ce fichier css:

#loginHeader 
{ 
display:block; 
background-color:Blue; 
} 

.aaa 
{ 
    display:block; 
    background-color:Red; 
} 

Si j'ouvre la page, pas de style est appliqué. Firebug montre que le css est en cours de téléchargement. Si je déplace le balisage css vers la page, à l'intérieur d'une balise, cela fonctionne, si je reviens au fichier css, il cesse de fonctionner.

Voyez-vous une raison pour ce comportement?

Merci, Oscar

Répondre

1

Je viens de découvrir dehors: il y avait une erreur sur mon fichier de configuration, qui définit que l'utilisateur doit être connecté pour accéder aux fichiers css ... résolu, thanks :)

+0

Faites glisser le fichier CSS de Solution Explorer dans la balise principale en mode Code ;-) – IrishChieftain

+1

Just did it. Le problème était que l'utilisateur n'avait pas l'autorisation d'accéder au dossier css;) – JSBach

0

Vous avez écrit la balise de lien de cette façon.

<link rel="Stylesheet" type="text/css" href="/css/Landing.css" /> 

Make it

<link rel="Stylesheet" type="text/css" href="css/Landing.css" /> 

Cela indique au navigateur de rechercher le fichier "Landing.css" dans le répertoire css.

+0

Eh bien, c'est une chose différente. Chemin sans barre oblique signifie chemin relatif. Si vous êtes actuellement dans, disons, http://foo.bar/Products/Default.aspx alors il cherchera Landing.css dans le répertoire http://foo.bar/Products/css/Landing.css. S'il y a une barre oblique, cela signifie un chemin absolu et suivra http://foo.bar/css/Landing.css, peu importe l'emplacement actuel. Ce dernier, c'est-à-dire avec une barre oblique, est beaucoup plus préférable. – Oybek

Questions connexes