二倍图(物理像素&物理像素比,多倍图,背景缩放),移动端开发选择(移动端主流方案【单独制作移动端页面(主流),响应式页面兼容移动端(其次)】,移动端技术解决方案【移动端浏览器,特殊样式】)

本文介绍了物理像素和物理像素比的概念,特别是在视网膜屏幕上的应用。针对高清设备,文章讨论了如何使用多倍图和不同的背景缩放方式(如cover和contain)来提升图片质量。同时,探讨了移动端开发的选择,包括响应式设计和移动端技术解决方案,以及移动端浏览器的兼容性处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二倍图

物理像素&物理像素比

物理像素指的是屏幕显示的最小颗粒,是物理真实存在的,我们开发的1px不一定等于1个物理像素,(PC端相同,移动端不一定相同)

PC端和早期手机屏幕是 1CSS像素 = 1物理像素的,后来推出了一个视网膜屏幕,可以把更多的物理像素点压缩进一块屏幕里,从而达到更高分辨率,提升屏幕显示的细腻程度

1个px所能显示的物理像素点的个数,称为物理像素比(屏幕像素比)

多倍图

对于一张图片,在手机视网膜屏打开,按照物理像素比放大倍数,会导致图片模糊,在标准的viewport设置中,我们通常使用倍图来提高图片质量,解决高清设备中模糊的情况

背景缩放

background-size: 背景图片宽度 背景图片高度;

单位:长度、百分比、cover、contain

cover是将图片等比例拉伸填满盒子,会有部分超出

contain是将图片等比例拉伸到不超出盒子的最大尺寸

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, minimun-scale=1.0, user-scaleable=no">
    <title>Document</title>
    <style>
        div {
            width: 500px;
            height: 500px;
            border: 1px solid red;
            background: url(梦想.jpg) no-repeat;
            background-size: 500px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, minimun-scale=1.0, user-scaleable=no">
    <title>Document</title>
    <style>
        div {
            width: 500px;
            height: 500px;
            border: 1px solid red;
            background: url(梦想.jpg) no-repeat;
            /* background-size: 500px; */
            background-size: 500px 500px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, minimun-scale=1.0, user-scaleable=no">
    <title>Document</title>
    <style>
        div {
            width: 500px;
            height: 500px;
            border: 1px solid red;
            background: url(梦想.jpg) no-repeat;
            /* background-size: 500px; */
            /* background-size: 500px 500px; */
            background-size: 100%;
            
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, minimun-scale=1.0, user-scaleable=no">
    <title>Document</title>
    <style>
        div {
            width: 500px;
            height: 500px;
            border: 1px solid red;
            background: url(梦想.jpg) no-repeat;
            /* background-size: 500px; */
            /* background-size: 500px 500px; */
            /* background-size: 100%; */
            background-size: 100% 100%;
            
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, minimun-scale=1.0, user-scaleable=no">
    <title>Document</title>
    <style>
        div {
            width: 500px;
            height: 500px;
            border: 1px solid red;
            background: url(梦想.jpg) no-repeat;
            background-size: cover;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, minimun-scale=1.0, user-scaleable=no">
    <title>Document</title>
    <style>
        div {
            width: 500px;
            height: 500px;
            border: 1px solid red;
            background: url(梦想.jpg) no-repeat;
            background-size: contain;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

移动端开发选择

移动端主流方案

单独制作移动端页面(主流)

通过判断设备,跳转PC端或移动端页面,通常移动端页面为网址域名前面加m

响应式页面兼容移动端(其次)

通过屏幕宽度来改变样式,以适应不同终端

缺点:制作麻烦,需要花精力去调兼容性问题

移动端技术解决方案

移动端浏览器

移动端浏览器基本以webkit内核为主,只需要考虑webkit兼容性问题,可以放心使用H5标签和C3样式,同时浏览器的私有前缀只需要考虑webkit即可

特殊样式

/*点击高亮我们需要清除清除设置为transparent完成透明*/
-webkit-tap-highlight-color: transparent;
/*在移动端浏览器默认的外观在ios上加上这个属性才能给按钮和输入框自定义样式*/
-webkit-appearance: none;
/*禁用长按页面时的弹出菜单*/
img,a { -webkit-touch-callout: none; }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="#">你好</a>
    <input type="button" value="嘿嘿">
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        img,a { 
            /*禁用长按页面时的弹出菜单*/
            -webkit-touch-callout: none; 
        }
        a {
            /*点击高亮我们需要清除清除设置为transparent完成透明*/
            -webkit-tap-highlight-color: transparent;
        }
        input {
            /*在移动端浏览器默认的外观在ios上加上这个属性才能给按钮和输入框自定义样式*/
            -webkit-appearance: none;
        }
    </style>
</head>
<body>
    <a href="#">你好</a>
    <input type="button" value="嘿嘿">
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员shy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值