响应式开发——媒体查询断点设置实例

响应式开发——媒体查询断点设置实例

关于媒体查询中断点的设置,有两个点需要格外注意!

如何选择断点

一般情况下,建议根据屏幕尺寸进行断点分割,不要针对特定设备分割

根据设计稿选择合适的断点。

动态断点设置

在实际应用过程中,用户会根据需要改变浏览器默认文字大小 ,若让断点能够随着文字的变化而变化,用户体验更佳

那么如何让断点随着文字大小变化而变化呢?
我们假设,

设置的断点为,(max-width: 800px) (min-width: 481px and max-width: 800px) (max-width: 480px)

HTML根元素的字体大小设置为,html {font-size: 62.5%} (1rem = 16px * 62.5% = 10px)

一般情况下,换算成rem为,(max-width: 80rem) (min-width: 48.1rem and max-width: 80rem) (max-width: 48rem)

但是:

媒体查询的优先级比较高,媒体查询她并不是HTML的子元素
    这里就不再是根据html中字体大小 1rem = 10px进行换算 (800px / 10 = 80 rem)
    而是根据浏览器默认字体大小 1rem = 16px进行换算 (800px / 16 = 50 rem)

那么:

此案例中媒体查询的断点换算成rem为,(max-width: 50rem) (min-width: 30.0625rem and max-width: 50rem) (max-width: 30rem)

因为:

这边断点设置是根据浏览器而言,而不是根据HTML,使用rem就没有必要(rem有兼容性问题也有部分浏览器的bug)
    可以直接使用em为单位
    换算成em,(max-width: 50em) (min-width: 30.0625em and max-width: 50em) (max-width: 30em)

最后结果:

@media only screen and (max-width: 50em) {}

@media only screen and (min-width: 30.0625em) and (max-width: 50em) {}

@media only screen and (max-width: 30em) {}
与君共勉:再牛逼的梦想,也抵不住傻逼般的坚持!