vs的form标签引起css走样问题
我在msdn的Design Templates下载了一个模版,用各种浏览器测试了都没有问题(maxthon2,opera,ff,safira,chrome)。
但是用vs2008的模版页面时却发生了一些走样,IE下一些元素宽度出了问题,opera下侧边竟然飞到了屏幕边上。
经过仔细的排查(逐行对比,css减法)才发现是form标签的问题。
我们的asp.net母版通常是这样的:
<head>……
</head>
<body>
<form id="form_main" runat="server">
……
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
……
</form>
</body>
</head>
<body>
<form id="form_main" runat="server">
……
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
……
</form>
</body>
在php等页面中,一个页面可以共存很多form来处理不同的提交,但在asp.net中,整个页面是做为一个form容器来提交的,这时如果引用页面中已经含有form的html模版时,原来的form样式其实已经变为form form的嵌套。form做为不可见元素,一般的浏览器可能会视而不见,opera的处理方式有些许不同吧。
去掉原来模版中所有的form标记,页面终于如我所愿了。
除了上文提到的官方的for .net2.0的页面模版和start kit,以下还有一些个人比较常去的:
- ZenGarden 这个网站其实只有一个页面,它的模版在这里.
- FreeCSSTemplates 里面有很多不错的模版适合内容不多的小站使用
- Free WP Themes 专门为WordPress做的模版,不用自己调试了
- 站酷Zcool 相信很多人都知道这个网站了,主要提供素材,里面的确很多好东西
不知道国内有哪些优秀的CSS模版类网站,楼下的推荐一下,如果没有的话,有机会做一个吧。