CSS 内容总结
1.移动端基础
-
浏览器现状:处理webkit内核即可
-
手机屏幕现状:
-
移动端调试方法
- 浏览器的模拟手机调试
- 搭建本地服务器,手机和服务器在同一个局域网内,通过手机访问服务器
- 使用外网服务器,直接IP或域名访问
-
现在移动端碎片化比较严重,分辨率和屏幕尺寸大小不一
2.视口
浏览器显示页面内容的屏幕区域,视口可以分为布局视口、视觉视口和理想视口
- 布局视口:Layout viewport
- 用于解决早期PC端页面在手机上显示的问题
- 视口分辨率为980px,所以PC上的网页大多都能在手机上呈现,只不过元素看上去很小,一般默认可以通过手动缩放网页
- 视觉视口:visual viewport
- 它是用户正在看到的网站的区域。注意:是网站的区域
- 可以通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度
- 理想视口:ideal viewport
- 为了使网站在移动端有最理想的浏览和阅读宽度而设定
- 理想视口,对设备来讲,是最理想的视口尺寸
- 需要手动填写meta视口标签,通知浏览器操作
- meta视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,我们布局的视口就多宽
meta视口标签:
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
属性 | 解释说明 |
---|---|
width | 宽度设置的是viewport宽度,可以设置device-width特殊值 |
initial-scale | 初始缩放比,大于0的数字 |
maximum-scale | 最大缩放比,大于0的数字 |
minimum-scale | 最小缩放比,大于0的数字 |
user-scalable | 用户是否可以缩放,yes或no(1或0 ) |
3.二倍图
-
物理像素和物理像素比
一个px能显示的物理像素点的个数,称为物理像素比或屏幕像素比
Retina(视网膜屏幕)是一种显示技术,可以将更多的物理像素点压缩至一块屏幕里,从而达到更高的分辨率,并提高屏幕显示的细腻程度
-
图片缩放
50*50 到移动端页面放大两倍会模糊
采取放一个100*100的图片 手动缩小到50 *50显示,这样移动端放大两倍也不会出现模糊
-
背景缩放:background-size:图片的宽度 图片的高度 两个参数
-
一个参数就等比缩放 background-size:图片的宽度
-
单位跟%,相对于父盒子而言 background-size:图片的宽度 %
-
cover 把背景图等比例扩展至足够大,以使背景图完全覆盖背景区域,可能使部分内容看不见
background-size:cover
-
contain 把图像等比例扩展至最大尺寸,以使其宽度和高度安全适应内容区域,可能有空白区域
-
-
多倍图切图 cutterman
- @3x 3倍图
- @2x 2倍图
- @1x 1倍图原图
4.移动端开发选择
- 移动端主流方案:移动端(主)、响应式(次)
- 移动端(主):单独做出移动端页面
- 响应式(次):根据屏幕宽度改变自身宽度
5.移动端技术解决方案
-
移动端浏览器:考虑webkit兼容性问题
-
css初始化:normalize.css
-
css盒子模型:
box-sizing:border-box ;padding和border不会撑大盒子
box-sizing:content-box ;传统盒子模型,padding和border会撑大盒子
-
特殊样式
-webkit-box-sizing:border-box;box-sizing:border-box; css3盒子模型 -webkit-appearance:none 在移动端浏览器默认的外观在ios上加上这个属性才能给按钮和输入框自定义样式 -webkit-touch-callout:none 禁止长按页面时的弹出菜单 -webkit-tap-highlight-color:transparent; 点击高亮我们需要清除
5.移动端常见布局
-
移动端技术选型
- 移动端:流式布局(百分百布局)、flex弹性布局(强烈推荐)、less+rem+媒体查询布局 、混合布局
- 响应式:媒体查询、bootstarp