在 C# Web 应用程序中,VS 2005(我避免使用 2008,因为我发现 IDE 很难处理),我陷入了布局问题。
我正在从绝对定位转向 CSS 相对定位。
我想将屏幕分为四个部分:顶部(标题栏)、中间左侧(堆叠菜单)、中间右侧(内容 - 这里是 AJAX 选项卡容器)和底部(页脚栏),以及所有4 个 block 相对定位,但中间右侧(内容) block 中的控件相对于 block 的左上角绝对定位。一个很好的附带好处是让 IDE 设计窗口显示所有控件,因为它们实际上会显示,但我怀疑这是可能的。 IDE 将选项卡面板内的所有控件相对于设计窗口的左上角定位;真是一团糟。
目前,我的偏见是 CSS 适用于相对定位 block 、插图、文本等,但不适用于需要排列大量标签、文本框、ddl、复选框等的输入表单。
无论如何,我的 CSS 还不能胜任这项任务 - 有没有人知道一篇讨论 CSS 在 ASP.NET 中实现的好文章、书籍、博客等,其中可能包括一个示例AJAX 选项卡控件?任何帮助,将不胜感激。
非常感谢
迈克·托马斯
最佳答案
我知道这可能不是您想要的全面答案,但它可能会有所帮助...
要使右侧 block 的内容相对于其左上角绝对定位,您只需为容器元素提供 position: relative;
样式。这会将那个元素变成一个包含 block ,导致所有绝对定位的子元素都定位在它的边界上。这是关于该主题的有用文章:CSS Positioning . ASP.NET 控件的问题之一,尤其是听起来您正在使用的 AJAX 控件工具包,是让它吐出有效标记。最好使用可让您 100% 控制标记的控件,有时这意味着创建复杂的 UserControl
或向您的 aspx
文件添加少量讨厌的脚本。
关于让 IDE 正确呈现,甚至不用费心。我已经将近两年没有使用 VS 中的设计 View ,并且有充分的理由:它很糟糕并且基于 IE。没有 IDE 能够为您提供实时测试所能提供的完整渲染体验,所以我个人不会打扰。我知道较新的 MS 工具对此有更好的支持,尽管它仍然不如真正的浏览器完美和可靠(显然你想在这里使用 Firefox!)。
关于.net - CSS 布局、Vis Studio 2005 和 AJAX 选项卡容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/157850/