前端移动开发布局_基础入门

知识导航

  • 视口
  • 二倍图
  • css3中的盒子模型
  • 市场上常用的移动开发选择

1. 视口

视口(viewport)就是浏览器显示页面内容的屏幕区域(简单认为就是我们的屏幕)。并且它又分为布局视口、视觉视口和理想视口。在这里插入图片描述
我们可以通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度。(布局视口即为我们pc上的页面布局,通过对视觉视口的伸缩放大查看页面布局)

理想视口 ideal viewport

为了使网站在移动端有最理想的浏览和阅读宽度而设定
它需要手动添加meta视口标签来设定,主要目的:使得布局视口的宽度与理想视口的宽度一致(设备宽度=布局视口宽度)

基本语法:

<meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalale=no,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
属性 解释 标准设置
width 设置视口宽度,可设device-width 视口宽度与设备宽度一致
initial-scale 初始缩放比,大于0的数字 视口的默认缩放比例1.0
maximum-scale 最大缩放比,大于0的数字 最大允许的缩放比例1.0
minimum-scale 最小缩放比,大于0的数字 最小允许的缩放比例1.0
user-scalale 设置用户是否可以缩放页面 不允许no

2. 二倍图

先来解释一下物理像素和物理像素比的问题。
物理像素点指的是屏幕显示的最小颗粒,是物理真实存在的。
一个px的能显示的物理像素点的个数,称为物理像素比或屏幕像素比
而手机端屏幕的分辨率是强于pc端的,像上面所说。相同px单位内,手机屏内压缩的物理点更多。所以这就导致了一个问题。
在我们按照pc端的样式给移动端进行布局的时候,若是进行插入图片。图片的宽高为100px*100px,放到移动端的时候。因为要保持相同的像素比,比如假设pc端一个px放一个像素点即它的物理像素比为1,到了移动端假设一个px放两个像素点即它的物理像素比为2 。为保证像素比相同。它会把我们的图片做放大处理。即此时的图的显示效果已经不是它原有的宽高了

看下图:
在这里插入图片描述
我向盒子放了一张533*300的图片,接下来我会用宽度为1024的ipad来展示。
效果:
在这里插入图片描述

可见图片的的宽度已经到了它的四分之三了。并且最坏的影响是造成了图像模糊

为了解决这一问题,我们通常使用倍图来提高图片的质量。即我们本身要在移动端要放的是100x100的图。因为图片在移动图会有自身放大影响图片质量的效果。故我们提前准备一个200x200的图(假设像素比为2)然后通过css设置它的宽高到100

简单理解:还是假设pc一个px对应一个物理点,移动一个px对应2个。现在移动端要的是100px即为200物理点的那我们就给它一个200物理点的。200物理点对应到pc不就为200px的图了。注意这里只是让物理点一一对应了即图片质量保持不变。它在移动端的宽高还需要我们css去设置

到了这,就必须介绍一个知识了

背景缩放background-size(进行图片背景宽高进行控制)

进本语法:

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

单位: 长度|百分比|cover|contain;

cover把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。

contain把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域

背景均不平铺
cover效果:
在这里插入图片描述
在这里插入图片描述
即它有一边到了盒子边界便保持不动了。

3. css3中的盒子模型

传统模式宽度计算:盒子的宽度 = CSS中设置的width + border + padding

CSS3盒子模型: 盒子的宽度= CSS中设置的宽度width 里面包含了 border 和 padding

也就是说,我们的CSS3中的盒子模型, padding 和 border 不会撑大盒子了

/*CSS3盒子模型*/
box-sizing: border-box;
/*传统盒子模型*/
box-sizing: content-box;

移动端建议全部使用c3的盒子模型

4. 市场上常用的移动开发选择

1. 单独制作移动端页面

主流。
代表:淘宝京东等
一般布局方式:

  • 流式布局(百分比布局)
  • flex 弹性布局(强烈推荐)
  • less+rem+媒体查询布局
  • 混合布局

2. 做出响应式pc和移动端共用

实现较为繁琐
代表:三星官网
一般布局方式:

  • 媒体查询
  • bootstarp

建议清除样式

如下图:
在这里插入图片描述
a链接在点击时有高亮显示,并且长按在松开时会弹出菜单。建议清除

 /*点击高亮我们需要清除清除  设置为transparent 完成透明*/
    -webkit-tap-highlight-color: transparent;
   
    /*禁用长按页面时的弹出菜单*/
    img,a { -webkit-touch-callout: none; }

 /*在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮和输入框自定义样式*/
    -webkit-appearance: none;

发布了33 篇原创文章 · 获赞 49 · 访问量 4427

猜你喜欢

转载自blog.csdn.net/qq_41086511/article/details/104011687
今日推荐