2011-06-01 31 views
6

我有一个同事在他的css中使用了很多绝对定位。绝对定位性能

我发现我通常可以通过为html提供不同的结构来实现相同的视觉效果 - 事实上,除非我绝对需要,否则我倾向于使用绝对定位。

问题 - 除了css的复杂性,我的直觉听起来是否是绝对定位的东西,要谨慎使用?

回答

6

绝对定位的过度使用是一个设计问题,但不是因为任何性能问题 - 我不知道任何性能方面的问题,这会让我犹豫在我需要时使用绝对定位。

绝对定位一切的真正问题是,您倾向于将您的布局绑定到固定大小,如果您必须针对改变大小的事情进行调整,可能会使事情变得完全僵硬。

例如,如果要增加网站的字体大小,会发生什么情况?如果所有东西都是绝对定位的,那么你将会付出巨大的努力来重新调整一切。

以同样的方式,绝对定位几乎总是意味着整个布局的位置和大小的像素而不是em单位或百分比。同样,使用像素大小也没有问题,但当人们尝试自行调整网站时(例如,使用缩放或放大镜,或者只是更改字体大小等),确实会产生可访问性问题。

并且您是否尝试过查看各种移动设备上的网站?严格设计的网站通常是以较小的屏幕尺寸观看时最糟糕的。最好有一个流畅的设计,只要你使用它就可以工作,而不必为移动设备建立一个完全独立的网站。

+1

”如果您想增加网站的字体大小,会发生什么情况?“你可以做你的绝对定位在“时间” – redben 2013-05-19 12:50:35

+1

支持传统的IE8迫使我使用绝对定位无处不在...我认为在某些情况下,它更加理智。太多的原则可能会阻止我们有时候完成任务。 – 2015-01-23 15:11:00

+0

据我了解,这最终归结为,您的网站上的组件是相互关联的,因为它们的布局。您可以使用绝对定位编写代码,将其考虑在内。 – JL235 2015-09-17 22:47:26

5

对我来说,在相对定位的元素(如,在页脚内)使用绝对定位是省时的。当您必须更改布局(列,标题...)时,在任何地方使用它都可能很麻烦。

1

如果可以,我也总是尽量避免绝对定位。因为它最终会让事情变得更加困难。但有时候我并没有真正的选择。

-1

问了很多年后,问的东西看起来有点不同。触摸屏,移动设备和常规桌面浏览器中的缩放功能的演变消除了绝对布局的所有负面因素。轻松缩放使得避免绝对定位成为不必要的工作。随心所欲设计你的屏幕。几乎任何最新的操作系统/浏览器都可轻松扩展字体,图片,绝对坐标和大小。

大多数操作系统都有合理的默认dpi(每英寸点数)设置,浏览器根据屏幕分辨率进行配置。采取任何高分辨率片剂。在实际屏幕像素中测量时,CSS中的“font-size:10px”实际上会导致文本多次“更高”。

至于性能,它不像静态布局不要求浏览器计算元素的大小和位置。布局引擎仍然必须执行遵循静态定位和大小规则的计算。绝对布局仅允许开发人员明确指定这些规则。

可以提出一个观点,即绝对定位甚至可能需要较少的工作从浏览器到布局元素。有100个孩子的静态布局需要评估99个元素的位置和大小,以便定位第100个元素。绝对定位明确地告诉浏览器在哪里放置第100个孩子。

我自己没有运行任何基准测试,但不太可能在不同类型的布局之间的性能有任何显着差异。 “

+0

在没有评论的情况下下调没有帮助。你应该提到你认为不正确的东西。 – 2018-02-27 17:25:14