现在我正在处理一个项目,该项目要求我使用响应式设计,而不是自适应设计(即不需要媒体;一切都会流畅地变化(,我不确定我应该使用哪个单元来进行填充和边距。
对于字体大小,我使用rem
,我认为这是响应式设计的好选择,因为我只需要将font-size
更改为html
,就可以控制它们的更改范围。
但在填充和余量方面,每个单元都有其缺点,至少在我看来是这样。
px
此处不提供硬编码像素。
rem
对我来说,容器的填充和边距按font-size缩放是没有意义的,但这是最容易用于响应式设计的单元。
vw
如果我使用vw,容器的填充和边距将随视口宽度缩放。这个单位对我来说是有意义的,但我不想通过到处写calc( marginWidth/viewportWidth * 100vw)
来获得单位相对于视口的比例。有没有更好的写作方式并达到同样的效果?
%
如果我使用%,容器的填充和边距将随着父对象的宽度而缩放。再次,我将不得不做calc( marginWidth/viewportWidth * 100%)
。这真的很麻烦。
有没有更好的方法来设置响应css设计的填充和边距?使用像顺风CSS、postCSS或Sass这样的CSS处理器会帮助解决这个问题吗?欢迎任何意见。
这个问题被问了很多,每个人都有不同的做法。您可以使用px
、%
、em
、rem
、vw
、vh
。除CCD_ 12外,其余均为相对单位。这取决于项目,但我发现最好使用px&百分比,因为你知道它们不会被不同的视口搞砸。使用vh
和vw
进行填充和边距会对页面缩放的可访问性产生很小的影响。
我建议尝试几种不同的方法或两者的组合,因为没有一个正确的答案。