网页适配移动/手机设备的一点点方案

JavaScripthtml栅格
2023-09-20 16:22:15

网页适配移动/手机设备的一点点方案:栅格模式&JS

在前端编程当中多采用栅格模式,我在接触过的BootStrap、Layui都是此类设计。适配各类屏幕多使用不同尺寸的class去装饰即可。
##不同尺寸下的显示方案

LayUI为例,分别采用xs、sm、md、lg代表超小屏幕、小屏幕、中等屏幕,和超大屏幕

  • layui-col-xs*
  • layui-col-sm*
  • layui-col-md*
  • layui-col-lg*

###不同尺寸下隐藏、显示某元素

同时官方定义了, layui-show-*-block 来表示是否在某尺寸下显示。

或者使用layui-hide-*显示或隐藏某列。

这个实现总体上不难,查看官方源码可知CSS定义方式如下(768px一般定义为超小屏幕的最大像素)。

复制代码
@media screen and (min-width:768px){
    layui-hide-xs{
        display:none!important
    }
}

那么可想而知,这种实现最简单的方式就是通过媒体查询来实现。这里就不重点描述什么是媒体查询了。

JS方式

最开始开发博客的时候,并没有对前端知识了解太多,只认识js才算的上是一门语言,很多时候用js实现了。
以博客侧边栏为例,往往在手机/移动设备上是不要显示的,为了实现这个功能,最终采用了Js方式,示例如下。

  • html代码
复制代码
<div id="index-side" style="display:none">
     .....
<div>
  • JS代码
复制代码
    if (document.body.clientWidth > 768) {
-     //小屏幕不显示侧边
-     $('#index-side').show()
-   }
  • 缺点:
    这样做虽然实现了,但是在屏幕大小切换过程中并不理想,响应方面没有媒体查询流畅。

作者微信:bianbingdang。转载请注明,变饼档博客