武安网站设计公司,网站开发代码说明书,如何制作网页链接教程,宝贝详情页设计开发过程中#xff0c;我们希望能够直接按照设计图来开发#xff0c;不管设计图是两倍还是三倍图#xff0c;能够直接写设计图尺寸而不需要换算#xff0c;同时有高质的设计图还原度#xff0c;想想都比较爽。 这里介绍一种使用vw和rem来布局的方案。 该方案思路主要是我们希望能够直接按照设计图来开发不管设计图是两倍还是三倍图能够直接写设计图尺寸而不需要换算同时有高质的设计图还原度想想都比较爽。 这里介绍一种使用vw和rem来布局的方案。 该方案思路主要是设置视口宽度为设备宽度使用vw来动态设置根元素的font-szie同时使用sass的css function来实现设计尺寸转rem的功能从而实现一套不需要js计算而自动设置根元素font-szie的rem布局 vw vw表示当前视口宽度的百分之一 rem布局过程中依赖于根元素的font-size属性而如果设置一个固定的font-size再使用rem来布局会导致小屏手机视觉上觉得网页被放大而大屏手机上则显得网页布局稀疏。 所以咱们需要根据收据的屏幕大小等比的设置font-size从而实现大小屏手机视觉一致的效果。实现这个功能可以使用js在页面载入时读取屏幕宽度再根据设计图标准宽度做一些转换。 而使用vw天然就是一个根据屏幕宽度来做计算的长度单位完美实现以上js计算功能。同时在移动端vw的兼容性还不错完全可以直接使用 计算方法 // 设计图标准根元素字体 / 设计图标准宽度 * 100 const vw 16 / 750 * 100 例如设计图以6s为标准2倍尺寸宽度750px而你设置根元素字体大小为16px那么计算出的vw就是2.13333vw直接在css中设置 html { font-size: 2.13333vw; } 这个时候我们在标准宽度下根元素实际字体大小是16px如果到5s手机上面则根元素实际字体大小为13.653px。根元素的字体大小变了页面中使用rem来设置的边距、长度、字体大小都会发现改变页面看起来像是缩小了一点点但是所有的布局跟6s都是一样的。 自动转换rem 设计图的设计尺寸一般都是2倍或者3倍如果此时咱们自己转换成一倍的再去根据根元素计算rem那也太累了。 比如2倍设计图上面的56px那么咱们需要56 / 2 / 16心态崩溃~~~ 算是不可能自己算的找插件呗这个轮子早就被造好了postcss-pxtorem就是专门来干这个事情的配置好设计尺寸设计倍数然后css里面直接写56px插件会自己给你计算成 (56 / 2 / 16)px是不是很棒。 加载配置一个插件也挺麻烦的如果你刚好在sass之类的css预处理器完全可以使用sass function来自动计算。 $rootSize: 16px!default;
$designWidth: 750px!default;
$designRatio: 2!default;function rem($px) {return $px / $rootSize / $designRatio * 1rem;
}
function rootVw() {return $rootSize / $designWidth * $designRatio * 100vmin;
} 这样就一次性计算好了根元素font-size也可以使用rem()来自动计算rem了 html{font-size: rootVw();
}
body{padding: rem(15px);
}