当我在大屏幕上开发某些项目并在小屏幕上显示它们时,我在网页上对它们的定位会稍微移动,反之亦然。
我以前从未遇到过这种情况,但这也是我在asp.net中开发的第一个网站。这是我的CSS
#backb{
position:absolute;
left :22%;
bottom:10%;
}
#backf{
position:absolute;
left :12%;
bottom:0%;
}
#avatar{
position:absolute;
left :55%;
bottom:45%;
}
在设计页面时,没有最佳定位这回事。您应该使用跨浏览器和不同系统交叉兼容的技术。
在您的CSS中,您正在使用
position: absolute;
使用此样式时,元素相对于其第一个定位的祖先元素进行定位。因此,默认情况下,它的位置将相对于<body>
的位置。
接下来,将使用percentage(%)
值来指定图元的不同位置。这些值是由浏览器相对于第一个相对定位的祖先计算的,默认情况下也是<body>
,因此每次分辨率更改时,模板都会相应地移动。
现在,我给你一些建议。
- 除非绝对必要,否则不要使用
position:absolute
- 使用百分比%值总是会产生流体结果,所以如果您不知道如何处理,就不要使用它
CSS的问题是使用百分比。只有当你知道你要占X%的容器实际上可以被这个数字整除时,才使用百分比。也许你可以试着使用固定宽度。我也同意前面的评论:尽量避免位置:绝对,尤其是对于布局的主要组件。
在写了几年CSS之后,我发现我和我的同事们一次又一次地重新发明轮子,在所有不同的浏览器上测试主布局是一件痛苦的事。我们得出的结论是,信任社区并在框架上标准化要容易得多。它不会100%适用于你的网站,但如果你为许多不同的客户端编写CSS,它将满足90%以上的时间。我研究了几个不同的框架,并让我的公司超过35人对新版本的YAML进行了标准化(http://www.yaml.de/)。它多次加速发展,但没有;Don’别相信我的话。看看他们出色的教程吧。我真的很棒。干杯