首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.skin vs来自asp.net的.css

.skin vs来自asp.net的.css
EN

Stack Overflow用户
提问于 2010-10-27 22:24:52
回答 3查看 11.6K关注 0票数 13

在asp.net中,.skin.css的主要区别是什么?

.skin是集成开发环境的新增强。我一直在和.css合作。.css无法访问.skin中的哪些内容

谢谢你,萨吉

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-27 22:28:24

在外观文件中,您可以设置asp.net控件的属性。

例如,

代码语言:javascript
复制
<asp:TextBox runat="server" Width="200"/>

应用程序中的所有TextBox控件的宽度都将为200。

您可以为其命名,并且只有您喜欢的控件才能设置它们以应用外观,例如,

代码语言:javascript
复制
<asp:TextBox SkinID="MultiLineTextBox" runat="server" TextMode="MultiLine" Height="240"/>

现在在网页中添加TextBox控件时,可以将其SkinID设置为"MultiLineTextBox“,如下所示。

代码语言:javascript
复制
<asp:TextBox runat="server" SkinID="MultiLineTextBox"/>

因此它将继承高度为MultiLine的TextMode和高度为240的高度。

要使用外观,您必须在应用程序的App_Themes文件夹下添加一个主题,并在那里添加外观文件,现在要在页面中使用此主题,您必须将页面的EnableTheming属性设置为true,将StylesheetTheme或theme设置为您的主题的名称。您也可以在配置文件中设置此属性。

在页面aspx中设置主题,

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" EnableTheming="true" StylesheetTheme="Your Theme Name" %>

在web.config中设置主题,

代码语言:javascript
复制
<configuration>
   <system.web>
     <pages styleSheetTheme="Your Theme Name"></pages>
   </system.web>
</configuration>
票数 20
EN

Stack Overflow用户

发布于 2010-10-27 22:34:29

请注意,就这两件事的实际用途而言,存在着相当大的差异。.skin文件中设置的任何属性都将复制到所有页面控件中。使用级联样式表的一个优点是,信息只加载和缓存一次。(并且可以应用于多个网页。)外观文件可能会导致页面膨胀,因为每次呈现页面时,外观文件中设置的所有属性都必须与每个受影响的控件合并。

此外,ASP.NET主题.skin文件的默认行为是覆盖受影响控件的属性(这可能是意外行为)。例如,如果为.skin文件中的所有ASP:标签设置了Width属性,则使用外观文件的所有ASP:标签都将其Width属性设置为.skin文件的Width属性,而不管控件的各个Width设置如何。若要避免此行为,可以使用ASP.NET StyleSheetTheme来允许控件级属性重写全局.skin属性。

票数 7
EN

Stack Overflow用户

发布于 2014-05-07 15:48:14

你甚至可以在CSS中设置一些属性,比如宽度。除了能够设置CSS不能设置的属性之外,还有一些事情需要.skin文件来完成。

考虑一个示例,其中您需要页面上的所有asp:Label控件都为蓝色。asp:Label实际上是span中的文本,也就是隐藏div中的文本。这就是为什么我们能够给asp:Label设置一些像BackColor这样的属性,以及为什么标准的label控件没有'BackColor‘属性。

因此,如果您尝试通过CSS为所有ASP标签设置字体颜色,

然后是像这样的东西

代码语言:javascript
复制
Label {
color: Blue; 
}

不会起作用。另一方面,使用皮肤文件,您可以编写

代码语言:javascript
复制
 <asp:Label runat="server" ForeColor="Blue"></asp:Label>

这会将所有标签设置为蓝色。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4034313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档