我有一些基于HTML元素的ID的CSS元素。 e.g。
ul#subNav div
{
/*top:45px !important;*/
position: relative;
visibility: hidden;
margin: 0;
padding: 0;
background: #C6DEFF;
border: 1px solid #5970B2;
z-index:2020;
}
现在,我无法将此样式应用于基于母版页的网页(ASP.NET Web表单),因为在渲染时,UL“subnav”的ID更改为“ctl100_subnav”,因此浏览器没有更长的时间适用于CSS。
有任何想法可以克服这个问题吗?
提前致谢。
答案 0 :(得分:1)
将一个类添加到SubNav div并将CSS应用于类而不是ID。
或者你正在使用.net 4
为了避免控件中的命名冲突,ASP.NET 2.0 / 3.5使用了ClientID,这使得每个控件都生成该页面唯一的id属性。然而,这些ID的生成很长且不可预测。使用像JavaScript这样的脚本语言进行客户端编程的开发人员有悲伤的故事来讲述在脚本中引用这些ClientID的时候。
ASP.NET 4.0通过新的ClientIDMode属性,现在通过ASP.NET控件生成的ClientID将控制权交还给开发人员。在我个人看来,这是ASP.NET团队做出的一个很好的设计决策,因为很多ASP.NET开发人员正在使用客户端编程来增强他们的界面,而像jQuery这样流行的JavaScript框架越来越受欢迎。