Visual Studio.Net的"绝对定位"有什么问题,CSS的"绝对定位"如何解决这个问题?

Cha*_*ers 2 css asp.net visual-studio

多年来,Visual Studio.NET为ASP.NET提供了"绝对定位",您可以将控件拖动到设计器画布上的任何位置.但是,一直有强烈建议不要使用该功能.相反,普遍的智慧说你应该使用"流程布局",因为如果你使用VS.NET的"绝对定位",你的屏幕将无法正确显示屏幕分辨率与你的屏幕分辨率不同的用户.

但是,那是老建议.不久之前,CSS出现了以符合标准的方式执行"绝对定位"的能力,并且大多数或所有浏览器都采用了CSS并且已经正确地实现了CSS定位(或者至少足够好).

因此,目前推荐的做法是使用CSS绝对定位来定位元素.

问题是:CSS对绝对定位的正确做法什么,Visual Studio错误地做了什么?即使对于具有不同屏幕分辨率的用户,CSS绝对定位如何才能正常,而Visual Studio.NET却不能?

更新:这里的回复已经为我解决了这个问题.以下是我总结的方法:

  1. 在很久以前,VS.NET默认使用绝对定位.这就是VB从一开始就起作用的方式(意思是网络应用程序存在之前的Windows应用程序),并且VS.NET与VB相似.
  2. 但是,对网页上的所有内容使用绝对定位是一个非常糟糕的主意.请参阅下面的一个回答,了解原因的一些具体例子.
  3. 由于对Web应用程序页面上的每个控件使用绝对定位是一个糟糕的主意,所以关于使用"流程布局"的所有建议如雨后春笋般出现.这是一种使用VS.NET而不必绝对定位所有内容的方法.
  4. 现在CSS已经非常成熟并得到广泛支持,并且是定位和外观的首选机制,因此绝对定位所有内容仍然很疯狂,并且出于同样的原因.应该允许大多数物品"在流动中"定位.但是,对于某些元素,绝对CSS定位可能有意义.
  5. VS.NET一直用于执行绝对定位的机制实际上是内联CSS样式.

很高兴有这一切清理完毕.谢谢.

Ric*_*ard 7

作为一般的Web开发点,绝对定位是不受欢迎的.它有一些罕见的用途,但在良好的CSS设计中并不多.

Visual Studio通过使用内联css样式实现了这种布局,但它仍然是css绝对定位.

开发Web布局的最佳方法是从呈现为有效HTML元素的内容开始.然后通过对这些元素应用适当的级联规则来使用CSS来改进布局.然后将类添加到需要与标准元素不同地布局的各个元素.

最后,为了添加任何whiz爆炸功能,您可以使用像Jquery这样的Javascript来直观地增强标准html控件的外观.

这样,您的网站可以使用功能较弱的浏览器"优雅地降级".