解移动端页面与PC端页面开发的区别,学习移动端页面的开发流程。
视口
视口是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px或者1024px,目的是为了显示下整个为PC端设计的网页,这样带来的后果是移动端会出现横向滚动条,为了避免这种情况,移动端会将视口缩放到移动端窗口的大小。这样会让网页不容易观看,可以用 meta 标签,name=“viewport ” 来设置视口的大小,将视口的大小设置为和移动设备可视区一样的大小。
设置方法如下( 快捷方式:meta:vp + tab ):
<head> ...... <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> ...... </head>
pc端与移动端渲染网页过程:
视网膜屏幕指的是屏幕的物理像素密度更高的屏幕,物理像素可以理解为屏幕上的一个发光点,无数发光的点组成的屏幕,视网膜屏幕比一般屏幕的物理像素点更小,常见有2倍的视网膜屏幕和3倍的视网膜屏幕,2倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/4,3倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/9。
图像在视网膜屏幕上显示的大小和在一般屏幕上显示的大小一样,但是由于视网膜屏幕的物理像素点比一般的屏幕小,图像在上面好像是被放大了,图像会变得模糊,为了解决这个问题,可以使用比原来大一倍的图像,然后用css样式强制把图像的尺寸设为原来图像尺寸的大小,就可以解决模糊的问题。
清晰度解决过程示意图:
背景图强制改变大小,可以使用background新属性
background新属性
background-size:
length:用长度值指定背景图像大小。不允许负值。
percentage:用百分比指定背景图像大小。不允许负值。
auto:背景图像的真实大小。
cover:将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。
contain:将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。
PC及移动端页面适配方法
设备屏幕有多种不同的分辨率,页面适配方案有如下几种:
1、全适配:响应式布局+流体布局
2、移动端适配:
流体布局+少量响应式
基于rem的布局
流体布局
流体布局,就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数 calc() 来设置宽度,或者使用 box-sizing 属性将盒子设置为从边线计算盒子尺寸。
calc()
可以通过计算的方式给元素加尺寸,比如: width:calc(25% - 4px);
box-sizing
1、content-box 默认的盒子尺寸计算方式
2、border-box 置盒子的尺寸计算方式为从边框开始,盒子的尺寸,边框和内填充算在盒子尺寸内
响应式布局
响应式布局就是使用媒体查询的方式,通过查询浏览器宽度,不同的宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而实现响应式布局。响应式布局的页面可以适配多种终端屏幕(pc、平板、手机)。
相应布局的伪代码如下:
@media (max-width:960px){
.left_con{width:58%;}
.right_con{width:38%;}
}
@media (max-width:768px){
.left_con{width:100%;}
.right_con{width:100%;}
}
基于rem的布局
首先了解em单位,em单位是参照元素自身的文字大小来设置尺寸,rem指的是参照根节点的文字大小,根节点指的是html标签,设置html标签的文字大小,其他的元素相关尺寸设置用rem,这样,所有元素都有了统一的参照标准,改变html文字的大小,就会改变所有元素用rem设置的尺寸大小。
cssrem安装
cssrem插件可以动态地将px尺寸换算成rem尺寸
下载本项目,比如:git clone https://github.com/flashlizi/cssrem 进入packages目录:Sublime Text -> Preferences -> Browse Packages… 复制下载的cssrem目录到刚才的packges目录里。 重启Sublime Text。
配置参数 参数配置文件:Sublime Text -> Preferences -> Package Settings -> cssrem px_to_rem - px转rem的单位比例,默认为40。 max_rem_fraction_length - px转rem的小数部分的最大长度。默认为6。 available_file_types - 启用此插件的文件类型。默认为:[".css", “.less”, “.sass”]。
1、结合流体布局和响应式布局制作天天生鲜移动端首页页面
2、使用基于rem的布局方式制作天天生鲜移动端首页页面
天天生鲜首页效果图如下:
作的网页除了在PC端浏览,在现在移动端量巨大的时代下,如何做好PC端与移动端的自适应,是每个程序必须要需要考虑的事情。
下面是没有加适应的情况:
通过为<table></table>标签的cellspacing进行赋值可以调整单元格与单元格之间的空间距离。
示例代码如下:
<table border="1" width="100%" cellspacing="50">页面效果如下:
下面我们删除cellspacing="50"这段代码看看变化,如图:
通过对比,大家应该明白cellspacing这个属性的作用了吧。
通过为<table></table>标签的cellpadding进行赋值可以调整单元格边框与单元格内容之间的空间距离。
示例代码如下:
<table border="1" width="100%" cellspacing="10" cellpadding="20">页面效果如下:
通过与上图对比,我们不难发现变化。
设置表格颜色
这里我们要介绍一个全局属性style,对,你没看错!就是freestyle的那个style!英文翻译过来是"样式"、"风格"的意思。我们通过这个属性可以为表格设置颜色。实际上,可以为任何html元素设置颜色、大小、排列等不同属性!
值得一提的是把style信息如果写到一个独立文件中,并保存为css文件,就是以后我们要学的CSS层叠样式列表了。
这里我们先来简单了解一下它作为html的一个全局属性的用法。
示例代码如下:
<table border="1" width="100%" cellspacing="10" cellpadding="20" style="background-color: #00ffff;">页面效果如图所示:
我们来分析一下这段代码,写法和其他属性大同小异。
首先也是才有"属性"="数值"的写法,具体是:style=""
是不是和其他属性写法一样?
但是到了双引号里面就不同了,比如width属性只需要为其赋值就可以,比如width="100%"。
而style是在双引号里面再指定属性。例如:style="background-color"。
然后我们再为background-color(背景颜色)属性赋值。
这时,赋值的写法就发生变化了,不是使用=号,而是使用:。
例如style="background-color : #00ffff;"
大家注意的是为其赋值后,要用;结尾。这个;必须要添加,因为,通过style可以指定多个不同的样式属性,在指定多个样式属性时,我们使用;分割。
#00ffff这个符号是色彩的16进制表示方法,这个颜色是蓝色。
#000000这个符号的颜色是黑色。
#ffffff这个符号是白色。
这个颜色的算法我们会在下一期中详细讲解,感兴趣的小伙伴请关注!
大家想一想。如何为一列单元格指定背景颜色呢?
示例代码如下:我们为表格标题栏赋予绿色。
<tr style="background-color: #00ff00;"><th>姓名</th><th>年龄</th></tr>页面效果如图所示:
下面我们为"一列一行"、"二列一行"赋予红色。
示例代码如下:
<tr>
<td style="background-color: #ff0000;">一列一行</td>
<td>一列二行</td>
</tr>
<tr>
<td style="background-color: #ff0000;">二列一行</td>
<td>二列二行</td>
</tr>页面效果如下:
今天的内容到此结束了,一下是今天示例的全部代码:
<!DOCTYPE HTML>
<html>
<head>
<title>第一个网页</title>
</head>
<body>
<h1>第一个网页</h1><hr>
<h2>表格元素</h2><hr>
<table border="1" width="100%" cellspacing="10" cellpadding="20" style="background-color: #00ffff;">
<caption>表格标题</caption>
<tr style="background-color: #00ff00;">
<th>姓名</th>
<th>年龄</th>
</tr>
<tr>
<td style="background-color: #ff0000;">一列一行</td>
<td>一列二行</td>
</tr>
<tr>
<td style="background-color: #ff0000;">二列一行</td>
<td>二列二行</td>
</tr>
</table>
</body>
</html>明天将继续为大家讲解页面制作中16进制的颜色指定方式和另外一种表格颜色指定方式。
喜欢的小伙伴请关注我,阅读中遇到任何问题请给我留言,如有疏漏或错误欢迎大家斧正,不胜感激!
HTML序章(学习目的、对象、基本概念)——零基础自学网页制作
HTML是什么?——零基础自学网页制作
第一个HTML页面如何写?——零基础自学网页制作
HTML页面中head标签有啥用?——零基础自学网页制作
初识meta标签与SEO——零基础自学网页制作
HTML中的元素使用方法1——零基础自学网页制作
HTML中的元素使用方法2——零基础自学网页制作
HTML元素中的属性1——零基础自学网页制作
HTML元素中的属性2(路径详解)——零基础自学网页制作
使用HTML添加表格1(基本元素)——零基础自学网页制作
使用HTML添加表格2(表格头部与脚部)——零基础自学网页制作
使用HTML添加表格3(间距与颜色)——零基础自学网页制作
使用HTML添加表格4(行颜色与表格嵌套)——零基础自学网页制作
16进制颜色表示与RGB色彩模型——零基础自学网页制作
HTML中的块级元素与内联元素——零基础自学网页制作
初识HTML中的<div>块元素——零基础自学网页制作
在HTML页面中嵌入其他页面的方法——零基础自学网页制作
封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作
HTML表单元素初识1——零基础自学网页制作
HTML表单元素初识2——零基础自学网页制作
HTML表单3(下拉列表、多行文字输入)——零基础自学网页制作
HTML表单4(form的action、method属性)——零基础自学网页制作
HTML列表制作讲解——零基础自学网页制作
为HTML页面添加视频、音频的方法——零基础自学网页制作
音视频格式转换神器与html视频元素加字幕——零基础自学网页制作
HTML中使用<a>标签实现文本内链接——零基础自学网页制作
*请认真填写需求信息,我们会在24小时内与您取得联系。