CSS布局,Vis Studio 2005和AJAX Tab容器

时间:2020-03-06 14:58:41  来源:igfitidea点击:

在一个CWeb应用程序VS 2005中(我避免使用2008,因为我发现IDE很难处理),我陷入了布局混乱的困境。

我正在从绝对定位转向CSS相对定位。

我想将屏幕分为四个块:顶部(标题带),左中间(堆叠的菜单),右中间(此处为AJAX选项卡容器的内容)和底部(底部带),所有4个块都相对放置,但右中(内容)块中的控件绝对相对于该块的左上角定位。一个不错的附带好处是让IDE设计窗口按实际显示的方式显示所有控件,但是我怀疑这样做是否可行。 IDE将所有控件放置在选项卡面板中相对于设计窗口左上方的位置。一团糟。

现在,我的偏见是CSS对于相对定位的块,图稿,文本等很有用,但对输入表单却不利,因为输入表单需要排队很多标签,文本框,ddl,复选框等。

无论如何,我的CSS尚未完成任务,没有人知道关于ASP.NET中实现CSS的优秀文章,书籍,博客等,并且其中可能包含带有AJAX选项卡控件的示例?任何帮助,将不胜感激。

非常感谢

迈克·托马斯(Mike Thomas)

解决方案

据我所知,ASP.NET没有什么特别的,并且我们不使用引用的样式表(至少在2008年)是对的。

这些可能对我们有用,但是:

http://www.positioniseverything.net/位置就是一切,一种出色的CSS资源。

http://www.alistapart.com/topics/code/css/ List Apart的CSS部分,提供有关特定技术的建议。

本质上,我们想要的是4个主要的div:页眉,页脚,菜单,内容。根据需要定位每个div,然后调整其子级的位置,大多数浏览器会将其视为"相对于父级的位置"(除非绝对是IIRC)。

我很欣赏这可能不是我们想要的全面答案,但它可能会有所帮助...

为了使右块的内容相对于其左上角绝对定位,我们只需要给容器元素一个" position:relative;"样式即可。这将把该元素变成一个包含块,从而使所有绝对定位的子元素都相对于其边界定位。这是有关此主题的有用文章:CSS定位。 ASP.NET控件(尤其是听起来像我们正在使用的AJAX控件工具包)的问题之一就是使它吐出有效的标记。最好使用可让我们100%控制标记的控件,有时这意味着创建复杂的UserControl或者向aspx文件中添加少量讨厌的脚本。

关于使IDE正确渲染,请不要打扰。我已经有近两年没有在VS中使用过设计视图了,这是有充分的理由的:它很烂,并且基于IE。没有一个IDE能够为我们提供现场测试所能提供的完整渲染体验,因此就我个人而言,我不会打扰。我知道较新的MS工具对此提供了更好的支持,尽管它仍不完美,并且不如真实的浏览器可靠(显然,我们想在这里使用Firefox!)。

就像Je​​ff所说的,关于CSS的实现方式,ASP.NET没有什么特别的。至于使用CSS样式化样式,请阅读以下内容,以便为我们提供一些想法:

  • http://www.sitepoint.com/article/fancy-form-design-css/
  • http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/
  • http://www.quirksmode.org/css/forms.html

非常感谢所有答案,在这里有很多值得阅读的内容,但是到目前为止,我一直在经历的事情使我对当前的困境有所了解。我发现不使用VS 2005 IDE来排成一列,使用Style Master容易得多,但是在购买之前,我仍然在寻找其他第三者工具。

非常感谢,
迈克·托马斯(Mike Thomas)