Asp.net VS2010和CSS:单独定位表单控件的最佳策略是什么
好的,我的页面上有很多控件需要单独放置。我需要在这里设置一个边距,在那里设置一个填充,等等。我想要应用的这些特定样式中,没有一个会应用于控件之外的其他样式。确定样式放置在哪个级别等的下注实践是什么 好的,我的选择是 1) 外部CSS文件 1A)使用clientdmode=Auto(默认值) 我可以为ASP.NET控件指定一个唯一的CssClass值,并在外部CSS文件中创建一个只应用于该控件的类选择器 1B)用户客户端ID=可预测 在外部CSS文件中,我可以确定感兴趣的控件的ID,并创建一个ID选择器(#ControlID{Style})。但是,我担心由于包含/删除会导致ID更改的父容器而导致维护问题 1C)用户客户端ID=静态 我可以为控件选择静态ID,这样就可以最大限度地降低与自动生成的ID冲突的可能性(可能是通过在ID前面加上“StaticID\”并使用带有ID选择器的外部样式表Asp.net VS2010和CSS:单独定位表单控件的最佳策略是什么,asp.net,css,visual-studio-2010,webforms,Asp.net,Css,Visual Studio 2010,Webforms,好的,我的页面上有很多控件需要单独放置。我需要在这里设置一个边距,在那里设置一个填充,等等。我想要应用的这些特定样式中,没有一个会应用于控件之外的其他样式。确定样式放置在哪个级别等的下注实践是什么 好的,我的选择是 1) 外部CSS文件 1A)使用clientdmode=Auto(默认值) 我可以为ASP.NET控件指定一个唯一的CssClass值,并在外部CSS文件中创建一个只应用于该控件的类选择器 1B)用户客户端ID=可预测 在外部CSS文件中,我可以确定感兴趣的控件的ID,并创建一个ID
2) 我可以把样式放在控件上。在我看来,这里唯一的缺点是,样式信息每次都会被删除,而不是被缓存,这是我使用外部CSS得到的。如果一个样式没有恢复,我个人不认为将它放在外部文件中有什么好处,不过如果你不同意,请解释一下原因。“把所有的CSS放在一个地方真是太好了”这有什么原因吗?一定要使用外部CSS文件 选项1 A-C实际上是个人偏好。我将使用
ClientIDMode=“Static”
,因为它可以让您对ID进行最大程度的控制,并且可以简化使用Javascript访问元素的过程(如果需要)。我一直讨厌ASP.NET早期版本中生成的丑陋ID。为每个元素使用一个唯一的CSS类有点违背了类的目的,因为类是用于多个元素的
为了证实你对选项2的想法,这不是最好的方法。将样式放入外部CSS文件将导致文件被下载一次并缓存,而不是让内嵌样式在每次发送到客户端的HTML中膨胀。我的想法正是如此。我只是想确认一下。我很惊讶这个问题没有引起更多的兴趣。感谢您的意见和解释。类选择器和ID选择器之间的区别充其量只是微不足道的。我不知道为什么有些人认为一个比另一个好。关于asp.net控件ID,如果要使用静态,请记住为控件指定不可能在其他任何地方重复的名称。如果一个页面上需要有两个相同控件的实例,该怎么办?