ASP.Net,母版页:每页样式表

THX*_*138 2 html css asp.net master-pages

这些是我的假设,这些是正确的吗?

  1. 使用CSS的布局优于使用表格.
  2. CSS应该在单独的文件中提取,而不是内联.
  3. CSS是从site.master中导入(链接)的,因此所有.css都导入(并应用于)所有.aspx页面.

鉴于此,我有一个包含一个母版页和两个.aspx页的项目.每个页面都有一个id为"records"的表.

问题:我可以为每个.aspx页面导入.css文件吗?

有没有更好的方法来在单个页面中范围 html元素?

Rex*_*x M 10

除了实际呈现A表(例如表格数据,如电子表格或网格)之外,CSS优先于表格.虽然有一些奇怪的情况,表是跨浏览器实现某些效果的唯一方法.主要是 - 除非你不能,否则总是使用CSS.然后用表:)

对于您的第一个问题 - 当然您可以在单个页面上包含CSS文件.您甚至可以使用占位符来执行此操作:

.master:
<head>
    <link rel="stylesheet" type="text/css" href="global.css" />
    <asp:ContentPlaceHolder runat="server" id="stylesheet" />
</head>

.aspx:
<asp:Content runat="server" ContentPlaceHolderID="stylesheet">
    <link rel="stylesheet" type="text/css" href="page_specific.css" />
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

要将样式范围限定到页面级别,我经常在<body>标记上放置一个类:

<body class="contact-page">
Run Code Online (Sandbox Code Playgroud)

然后在CSS中我可以定位该页面上应该不同的特定项目:

.contact-page .something h3 .more {style}
Run Code Online (Sandbox Code Playgroud)