首页 热点资讯 义务教育 高等教育 出国留学 考研考公

如何添加CSS让页面自适应手机屏幕

发布网友 发布时间:2022-04-21 21:33

我来回答

3个回答

懂视网 时间:2022-04-06 18:03

一、media query方式

/*iPhone X 适配*/
@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
 .fixed-bottom{
 bottom: 37px;
 }
}
/*iPhone XS max 适配*/
@media only screen and (device-width: 414px) and (device-height: 6px) and (-webkit-device-pixel-ratio:3) {
 .fixed-bottom{
 bottom: 37px;
 }
}
/*iPhone XR max 适配*/
@media only screen and (device-width: 414px) and (device-height: 6px) and (-webkit-device-pixel-ratio:2) {
 .fixed-bottom{
 bottom: 37px;
 }
}

存在的问题:在微信webveiw内部此方案能在元素底部加上安全区域宽度,没有问题。但是在safari等有底栏的浏览器(页面显示区域已经在安全区内部)也同样会加上安全区宽度。

(视频教程:css视频教程)

二、CSS函数

苹果在推出全面屏之后提供的CSS函数,ios<11.2为constant(),ios>11.2为env()。可填入safe-area-inset-top、safe-area-inset-left、safe-area-inset-right、safe-area-inset-bottom对应上下左右的安全区域宽度。env 和 constant 只有在 viewport-fit=cover 时候才能生效。

代码如下:

meta标签加入viewport-fit=cover

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">

css写法,不支持env、constant的浏览器会忽略此样式

.fixed-bottom{
 bottom: 0;
 bottom: constant(safe-area-inset-bottom);
 bottom: env(safe-area-inset-bottom);
}

推荐教程:CSS入门基础教程

热心网友 时间:2022-04-06 15:11

无论是电脑还是手机,要做到自适应屏幕,其实都是一样的。


首先,在网页代码的头部,加入一行viewport标签
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。即让viewport的宽度等于物理设备上的真实分辨率,不允许用户缩放。


其次:网页宽度css一定要使用百分比width: xx%;,不能用绝对像素。当然可以用width:auto;


第三,流动布局
.left{
float: left;
width: ***%;
}
第四,选择加载css

这是自适应的关键部分



.abc{ height:300px; border:1px solid #000; margin:0 auto} 
@media screen and (min-width: 1201px) { 
.abc {width: 1200px}  

/* 设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */ 
 
@media screen and (max-width: 1200px) { 
.abc {width: 900px}  

/* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */ 
 
@media screen and (max-width: 901px) { 
.abc {width: 200px;}  

/* 设置了浏览器宽度不大于901px时 abc 显示200px宽度 */ 
 
@media screen and (max-width: 500px) { 
.abc {width: 100px;}  

/* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */ 
需要注意是CSS代码顺序,由大到小排版CSS(判断浏览器宽度越大越放前),这样是因为逻辑关系,@media 判断CSS排错将导致判断失效。


第四,图片自适应
img { max-width: 100%;}
老版本的IE不支持max-width,所以只好写成:img { width: 100%; }


筚五、采用相对字体大小
字体也不能使用绝对大小(px),而只能使用相对大小(em)。


这里最重要的,是第三条和第四条,也就是采用流动布局和css选择加载。祝你好运!

追问加在哪的,小白看不懂呢

热心网友 时间:2022-04-06 16:29

首先,在网页代码的头部,加入一行viewport标签<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />。

viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。即让viewport的宽度等于物理设备上的真实分辨率,不允许用户缩放。

其次:网页宽度css一定要使用百分比width: xx%;,不能用绝对像素。当然可以width:auto;

第三,流动布局.left{float: left;width: ***%;}

第四,选择加载css这是自适应的关键部分.abc{ height:300px; border:1px solid #000; margin:0 auto} @media screen and (min-width: 1201px) { .abc {width: 1200px} }/* 设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */@media screen and (max-width: 1200px) { .abc {width: 900px}  } 

设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */@media screen and (max-width: 901px) { .abc {width: 200px;}  } /* 设置了浏览器宽度不大于901px时 abc 显示200px宽度 */@media screen and (max-width: 500px) { .abc {width: 100px;}  } 

设置了浏览器宽度不大于500px时 abc 显示100px宽度 */ 需要注意是CSS代码顺序,由大到小排版CSS(判断浏览器宽度越大越放前),这样是因为逻辑关系,@media 判断CSS排错将导致判断失效。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com