0

我试过谷歌搜索这个问题,以及在这里搜索它,但我似乎找不到任何相关的东西(这表明这是不可能的)。

我也尝试过将“相对”定位与不同“显示”属性(如内联、内联块等)结合使用,但一点也不令我惊讶,我发现它仍然会影响这页纸。无论如何,这几乎是我所理解的,但随后我开始思考,“除了使用绝对位置或固定位置之外,还有其他方法可以使用 CSS 来让元素不影响页面的流程吗?”

如果可能的话,我也会对使用 JavaScript/jQuery 实现相同效果的任何方式感兴趣。

4

2 回答 2

3

我不确定这里的用例是什么,但这里有一个简短的解释,我希望能为您澄清一些事情:

每个 HTML 都有一个“正常流程”,通常是从左到右。块级元素 ( div, p, li) 将始终占据整行,而行内元素 ( span, a) 将彼此相邻出现。

有几种方法可以控制页面的流动:

  1. 更改元素的显示属性(inline、inline-block、table-cell 等)
  2. 设置绝对位置——这将使元素脱离“正常流”,从而为其他元素腾出空间来占据该空间。
  3. 设置相对位置 - 这样您可以将元素从其原始位置移动,但与绝对定位不同,元素仍将占据它的原始空间,因此没有其他元素可以进入那里。
  4. 使用浮动 - 类似于绝对的,这将使元素脱离正常的页面流,并使其他元素占据该位置。

这些是主要方式,每种方式对流量的影响不同。

希望它有所帮助。

于 2013-05-07T18:14:22.570 回答
3

您可以浮动元素,但这通常会导致元素及其流入的兄弟元素远离正常流中的位置。它还将元素转换为块框。如果这些影响中的任何一个是不可取的,那么浮动不是一种选择。

如果您希望元素保持原样但表现得好像它不在正常流程中,那么只需单独指定position: absolute就足够了。如果您不指定任何,或top,则元素将不会从其正常流动位置偏移任何位置,除非在特殊情况下(例如,排除元素将阻止该元素上的边距折叠,因为当它不流动时它不再有任何其他边距可以与之交互-将此示例示例进行比较)。rightbottomleft

于 2013-05-07T18:08:14.540 回答