hgq's docs
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)

guoguoqiqi

漫不经心的向往
主页
ES6-阮一峰 (opens new window)
Vue文档 (opens new window)
Axios文档 (opens new window)
Vue Router (opens new window)
Vuex文档 (opens new window)
面试题-Vue (opens new window)
面试题-JS (opens new window)
  • 怎么解决移动端1px问题
    • 说一说对BFC的理解
    • CSS的盒子模型
    • 说一说对flex布局的认识
    • 网格布局
    • 伪类选择器和伪元素
    • 怎么实现响应式布局
    • css中的选择器有哪些、哪些可以继承
    • 如何做移动端适配
    • 如何清除浮动
    • em、rem区别
    • display none与visibility hidden的区别
    • z-index失效的场景
    • 在页面上隐藏元素的方法有哪些
    • css选择器中first-child与first-of-type的区别
    • 用css绘制三角形及其原理
    • 说一说box-sizing属性
    • 说一说水平垂直居中的布局方法
    • CSS 常见布局方式
    • CSS3的新特性有哪些
    • 圣杯布局和双飞翼布局
    • inline、block、inline-block这三个属性值有什么区别
    • 说一说css的预处理器
    • 如果要做优化,CSS提高性能的方法有哪些
    • CSS3常见动画有哪些
    • 怎样画一条0点5px的线
    • CSS
    guoguoqiqi
    2022-02-13

    怎么解决移动端1px问题

    # 产生的原因

    我们做移动端页面时一般都会设置meta viewport的content=“width=device-width”, 这里就是把html视窗宽度大小设置等于设备宽度的大小,大多数手机的屏幕设备宽度都差不多,以iphoneX为例,屏幕宽度375px。

    而UI给设计图的时候基本上都是给的二倍图甚至三倍图,假设设计图是750px的二倍图,在750px上设计了1px的边框,要拿到375px宽度的手机来显示,就相当于整体设计图缩小一倍,所以在375px手机上要以0.5px呈现才符合预期效果,然而css里最低只支持1px大小,不足1px就以1px显示,所以你看到的就显得边框较粗,实际上只是设计图整体缩小了,而1px的边框没有跟着缩小导致的。(ps:ios较新版已支持0.5px,安卓不支持,这里暂且忽略)

    简而言之就是: 多倍的设计图设计了1px的边框,在手机上缩小呈现时,由于css最低只支持显示1px大小,导致边框太粗的效果。

    # 解决方法

    1. background-image && boder-image

    缺点:换个颜色还得换图,而且图片处理圆角会出现模糊的问题

    1. border-shadow
    .box-shadow-1px {
      box-shadow: inset 0px -1px 1px -1px #c8c7cc;
    }
    
    1
    2
    3
    1. 伪元素 + scale缩放

    # 参考文章链接

    移动端1px像素问题的根本原因 | 优质解决方案 (opens new window)

    说一说对BFC的理解→

    最近更新
    01
    vuex数据持久化怎么做
    05-22
    02
    vue的动态路由怎么配置使用
    05-22
    03
    vue权限控制一般怎么做
    05-22
    更多文章>
    Theme by Vdoing | Copyright © 2022-2022 Guoquoqiqi | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式