2013-06-13 45 views
2

對於我的生活,我無法弄清楚爲什麼我嘗試應用的CSS不起作用,並希望有人能幫助我。CSS將不適用於Master Page

Index.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Index.master.cs" Inherits="IGS.Index" %> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <meta charset="utf-8" /> 
    <link href="css/main.css" rel="stylesheet" type="text/css" /> 
    <!--[if lte IE 7]> 
    <style> 
    .content { margin-right: -1px; } 
    ul.nav a { zoom: 1; } 
    </style> 
    <![endif]--> 
    <asp:ContentPlaceHolder ID="HeadContent" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form runat="server"> 
    <div class="container"> 
     <div class="header"> 
      <asp:ContentPlaceHolder ID="HeaderContentBar" runat="server"> 
      </asp:ContentPlaceHolder> 
     </div> 
     <div class="sidebar1"> 
      <asp:ContentPlaceHolder ID="LeftNavBar" runat="server"> 
      </asp:ContentPlaceHolder> 
     </div> 
     <div class="content"> 
      <asp:ContentPlaceHolder ID="MainContentBar" runat="server"> 
      </asp:ContentPlaceHolder> 
     </div> 
     <div class="footer"> 
      <asp:ContentPlaceHolder ID="FooterContentBar" runat="server"> 
      </asp:ContentPlaceHolder> 
     </div> 
    </div> 
    </form> 
</body> 
</html> 

的Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="IGS._default" 
    MasterPageFile="Index.Master" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
    <title>Site Index</title> 
</asp:Content> 
<asp:Content ID="HeaderContentBar" runat="server" ContentPlaceHolderID="HeaderContentBar"> 
    Header 
</asp:Content> 
<asp:Content ID="LeftNavBar" runat="server" ContentPlaceHolderID="LeftNavBar"> 
    <ul class="nav"> 
     <li><a href="news.aspx">News</a></li> 
     <li><a href="admin/default.aspx">Administration</a></li> 
    </ul> 
</asp:Content> 
<asp:Content ID="MainContentBar" runat="server" ContentPlaceHolderID="MainContentBar"> 
    <h1> 
     Latest News</h1> 
    <asp:Repeater ID="newsRepeater" runat="server"> 
     <ItemTemplate> 
      <div class="newsHeadline"> 
       <b> 
        <%# Server.HtmlEncode(Eval("newsHeadline").ToString())%></b> 
       <div class="newsStory"> 
        <%# Server.HtmlEncode(Eval("newsStory").ToString())%> 
       </div> 
       <div class="newsFooter"> 
        Posted By: 
        <asp:HyperLink ID="newsSubmittedBy" runat="server" NavigateUrl='<%# string.Format("User.aspx?id={0}", Eval("id")) %>' 
         Text='<%# Server.HtmlEncode(Eval("newsSubmittedBy").ToString())%>' /> 
        - Submitted By: 
        <%# Server.HtmlEncode(Eval("newsDate").ToString())%> 
       </div> 
       <div style="text-align: right;"> 
        <asp:HyperLink ID="newsReadMore" runat="server" CssClass="newsReadMore" NavigateUrl='<%# string.Format("News.aspx?id={0}", Eval("id")) %>' 
         Text="Read More..." /> 
       </div> 
       <hr /> 
     </ItemTemplate> 
    </asp:Repeater> 
    <p class="newsDaySelector"> 
     <asp:TextBox ID="TextBox1" runat="server" Width="30" Text="7"></asp:TextBox> 
     days</p> 
</asp:Content> 
<asp:Content ID="FooterContentBar" runat="server" ContentPlaceHolderID="FooterContentBar"> 
</asp:Content> 

編輯:何其不幸。我做了下面的所有建議,但仍然無法正常工作。這非常棒。這個頁面之前是部分樣式的,所以它看起來至少能夠正確地抓取它。如果任何人有任何想法,我很樂意聽到他們。

這裏是我的CSS。正如我所說,非常基本,它是一半工作。主要問題是頁腳不會沿着底部運行,而是與內容區域的左側對齊。

body 
{ 
    font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif; 
    background-color: #42413C; 
    margin: 0; 
    padding: 0; 
    color: #000; 
} 
.container 
{ 
    width: 960px; 
    background-color: #FFF; 
    margin: 0 auto; 
} 

.header 
{ 
    background-color: #ADB96E; 
} 

.sidebar1 
{ 
    float: left; 
    width: 180px; 
    background-color: #EADCAE; 
    padding-bottom: 10px; 
} 
.content 
{ 
    padding: 10px 0; 
    width: 780px; 
    float: left; 
} 

.footer 
{ 
    padding: 10px 0; 
    background-color: #6F7D94; 
    position: relative; 
    clear: both; 
} 
+0

你的代碼是正確的,做一件事情清理解決方案並重建並再次檢查,可能是這可以幫助你 –

+0

你確定你的css文件是正確的嗎?如果它對你的文檔中的某些樣式進行了設置,那麼你可能拼錯了某些ID /類。 – Nicolai

+0

我曾想過,這就是爲什麼我把所有東西都剪掉了,但是最低限度,它仍然不起作用。這是我現在所關注的,但是因爲其他一切似乎都被消除了。 – Trido

回答

0

當鏈接到你的母版頁中的樣式表,它總是很好地使用asp.net鏈接而不是html鏈接。這確保了asp.net將解析你的根目錄中的路徑。所有你需要做的是添加屬性runat="server"

<link href="~/css/main.css" rel="stylesheet" type="text/css" runat="server"/> 

現在,即使您的母版頁與aspx頁面不在同一目錄中,css也會正確加載。

0

試試這個[我假設在根目錄下的css文件夾,CSS文件路徑可能是不正確的。]

<link href="~/css/main.css" rel="stylesheet" type="text/css" /> 

,而不是

<link href="css/main.css" rel="stylesheet" type="text/css" /> 

,並把<!DOCTYPE<html>標籤。

1

我不知道,你把你的CSS文件母豬這個事情有工作

1- <link href="..css/main.css" rel="stylesheet" type="text/css" /> 
2- <link href="/css/main.css" rel="stylesheet" type="text/css" /> 
3-<link href="../css/main.css" rel="stylesheet" type="text/css" /> 

如果沒有他們中的一個在那裏工作的步驟4中的100%的方式來做到這一點,你只需要拖動你的CSS文件給你的頭,這將自動建立正確的鏈接到CSS,如果這不是幫助你需要檢查所有你的ID的所有CSS文件他不寫正確

我建議從第4步開始它的100%的方式來獲得寫入鏈接到您的SCC

0

您的代碼似乎沒有錯誤。只有我能夠承擔的可能性是路徑中的問題。 使用一個根據您的樣式表的位置如下:

/  -Site root 
~/ -Root directory of the application 

嘗試添加:

runat="server" 
在您的路徑

爲好。

祝你好運!