【问题标题】:Is Absolute positioning a best practice or should I avoid it?绝对定位是最佳实践还是应该避免?
【发布时间】:2010-10-15 20:01:32
【问题描述】:

我正在http://www.asp.net/learn/3.5-videos/video-13.aspx 上观看 ASP.NET 学习视频 它显示您可以使用绝对定位在页面上放置控件。我只是想知道这是否是最佳做法,还是应该避免绝对定位?这似乎是一个不错的、简单的功能,但在 VS IDE 中默认没有选择它肯定是有原因的。

【问题讨论】:

  • 这是最糟糕的做法 - 这一定是它经常使用的原因(而且因为它更简单)。

标签: asp.net css


【解决方案1】:

许多用户通过配置浏览器设置来更改您页面的字体大小。如果您使用绝对定位,事情将无法正确对齐。

在绝对定位中,当您的页面变得更复杂时,一个设计决策将要求您重新定位所有元素,但在相对定位中,您只需更改一个值,所有其他元素都会相应调整.

【讨论】:

  • +1 我同意,尽管这并不意味着绝对定位根本没有用 - 请参阅我的回答
  • 我认为你的意思是“静态”定位会相应地调整元素。相对定位将首先将所有内容置于正常流程中,然后将元素移出位置。
【解决方案2】:

绝对定位使元素脱离文档流。这意味着它将不再与其他元素对齐。有时这样做有很好的理由,但通常你想避免它。

ASP.NET 因使用不良的 HTML/CSS 做法而臭名昭著。这个框架是为“快速开发”而不是“优雅的网络标准开发”而设计的。

【讨论】:

  • 虽然这在某种程度上是正确的,但您误解了绝对定位的工作原理。由于它与其定位的父级绝对相对,它当然仍然可以与其他元素对齐。当然,您需要小心,但它非常有用,并且跨浏览器得到很好的支持。
【解决方案3】:

我认为这个问题更多是关于 css 而不是视觉工作室。由于其他答案中解释的原因,您应该尽可能使用相对定位。

这并不意味着绝对定位毫无用处。查看http://csszengarden.com/,了解如何使用简单的 html 结构并仍然使用一些非常有趣的设计。

【讨论】:

    【解决方案4】:

    你的怀疑是对的 :)

    基本上,不要将它用于控件。

    我只将它用于对话框或其他我可以计算相对于页面大小的正确位置的功能。

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 2016-11-25
      • 2012-01-25
      • 2012-02-19
      • 2019-04-03
      • 2021-01-25
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多