在使用CSS样式时,fixed定位是一种非常常用的样式。它主要可以使页面中的元素“固定”在某个位置,不随页面滚动而移动。
.element { position: fixed; top: 0; left: 0; }
上面的代码表示将页面中的某个元素,以fixed的方式定位在页面的左上角。
但是,有时候我们会遇到这样的问题:当我们用fixed的样式将页面中的一个元素固定在某个位置时,下面的内容却会被该元素所遮挡,导致页面内容无法正常显示,例如:
.fixed-element { position: fixed; top: 0; left: 0; width: 100%; height: 50px; }
上面的代码表示将一个元素以fixed的方式固定在页面的顶部,高度为50px。但是,由于这个元素被固定在页面的顶部,下面的内容(如文字或图片等)就会被遮挡,导致页面显示不全。
那么该如何解决这个问题呢?其实很简单,我们只需要在下面的内容中加入一个“空白占位符”,来占据fixed元素所占据的高度即可:
.fixed-element { position: fixed; top: 0; left: 0; width: 100%; height: 50px; } .placeholder { height: 50px; }
上面的代码中,我们在fixed元素下面添加了一个“空白占位符”,高度为50px,与fixed元素的高度相同。这样,虽然fixed元素仍然会固定在页面的顶部,但是由于下面的内容已经被“推”下来了,所以就不会被遮挡了。