开发者

CSS not working in ASP.NET

I have created a simple page in HTML which works fine. But when I import that to ASP.NET, the page design clutters up.

Here is my Site.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Elite.WUI.Site" %>

<!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="styles.css" />
</head>
<body>
    <form id="form1" runat="server">
    <asp:ContentPlaceHolder ID="headerCPH" runat="server">
        <div id="header">
            <h1>WUI</h1>
        </div>
        <hr />
    </asp:ContentPlaceHolder>
    <asp:ContentPlaceHolder ID="navigationCPH" runat="server">
        <div id="navigation">
            <ul>
                <li>Home</li>
                <li>Users</li>
                <li>Campaigns</li>
                <li>Settings</li>
  开发者_C百科          </ul>
        </div>
    </asp:ContentPlaceHolder>
    <asp:ContentPlaceHolder ID="contentCPH" runat="server">
    </asp:ContentPlaceHolder>
    </form>
</body>
</html>

my stylesheet styles.css

#navigation
{
    float: left;
    border: 1pt solid;
}

#navigation ul
{
    list-style-type: none;
    padding: 5 5 5 5;
    margin: 0;
}

#content
{
    margin-left: 9%;
    border: 1pt solid;
    padding-left: 5;
}

and the actual page derived from master page

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ABC.aspx.cs" Inherits="Elite.WUI.ABC" %>
<asp:Content ID="Content3" ContentPlaceHolderID="contentCPH" runat="server">
    <div id="content">
        <p>Test content</p>
    </div>
</asp:Content>

Here is how it is displayed in Firefox (ver 3.6)

CSS not working in ASP.NET

As you can see that the border, list-style-type properties are working but margin isn't working. Can anyone tell me what am I doing wrong? I have tested it in Google Chrome but same issue. While the HTML and CSS works fine when there is no ASP.NET i.e. simple .html file.


Change

padding-left: 5;

to

padding-left: 5px;

and

padding: 5 5 5 5;

to

padding: 5px 5px 5px 5px;

Note: last one can also be written: padding:5px;


EDIT: As suggested in the comments I inspected the source of the static HTML file and that generated by ASP.NET and I saw few differences

The CSS for <ul> in the ASP.NET source is

div#navigation ul {
list-style-type: none;
margin: 0px;
}

and that in the static file is

#navigation ul {
list-style-type: none;
margin: 0px;
padding: 5px;
}

Note the difference of padding (missing in the ASP.NET source)

Likewise, in the content div there is the padding-left missing in the ASP.NET source. But AFAIK, this shouldn't matter. The problem is that not even the margin property is applied to the div.

P.S: I couldn't edit the question because, I don't have enough rep and someone has added a image in the post (it won't allow me to post images.)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜