刚开始在.NET中进行Web开发。如果这个问题过于简单,我道歉。如果我有一个服务器控件:
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
<asp:LinkButton ID="header_su_btn" runat="server" CssClass="su_btn">Sign Up</asp:LinkButton><br />
<a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a>
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
</LoggedInTemplate>
</asp:LoginView>
是否有任何方法可以使用内联样式设置服务器控件的样式,或者是指定生成元素的css类然后在单独的样式表中进行样式化的唯一方法?
提前致谢。
答案 0 :(得分:2)
这将取决于整个控件的顶级(超类)。如果它是WebControl
,您将被迫在某个文件中定义CSS样式表。另一方面,如果它是HtmlGenericControl
,您可以使用内联CSS样式添加style
属性:
<div style="color: #f0f0f0" runat="server" />
无论如何,如果您想在现代Web开发中使用style
属性设置元素样式,我不确定您是否正在使用正确的路径。你应该尽快避免这种情况并正确完成工作。一个单独的文件是值得的。
你能否扩展为什么内联样式不好?
在遥远的星系中,在20世纪远在地球的AC中,发生了浏览器大战。在一些战斗之后,彼此想要统治 Web ,软件供应商得出了一个很好的结论:我们需要标准化Web开发。
blah,blah,blah,blah
[...]因此,他们尝试修复Web开发,HTML将是文档定义/布局,CSS 样式和JavaScript 代码。
总结:HTML中的编码样式混合了两个不同的概念。文档结构和样式,这就是使用style
属性是不良做法的原因。
由于与旧时代的向后兼容性,它仍然存在。 (90年代)网页。
TL; DR:因为关注点分离是好主意。