HTML5怎么制作响应式网页

HTML5怎么制作响应式网页,第1张

1.调整视口

代码实例:

<!DOCTYPE html>

<head>

    <meta charset="UTF-8" />

    <title>布局之路-移动端开发实例</title>

    <meta name="viewport" content="width=device-width,user-scalable = no" />

    <link rel="stylesheet" type="text/css" href="css/reset.css" />

</head>

<body>

    <div class="wrap"></div>

</body>

</html>

代码解析:由于使用不同设备打开网页时,宽度均有所不同,所以不能讲视口设置为固定值,应当为width=device-width,即将视口设置为当前设备的宽度。

2.确定设计图的最小字体

浏览器(部分)能够显示的最小字体未12px,当移动端页面宽度为320px时,要保证最小字体为12px,那么在1080px的设计图中,最小字体应当为42px。

代码实例:

    <style type="text/css">

        html {

            font-size: 42px

        }

    </style> 3.浮动布局

各个区块都是浮动的,不是固定不变的。为了能自适应各个窗口。

代码实例:

.main {

  float: left

  width: 70%

}

.box {

    float: left

    width: 60.93%

    font-size: 1.71rem

    text-align: center

    line-height: 4.64rem

}

float浮动的好处就是,如果宽度不够放置下这个元素,元素会自动滚动到下方。

4.通过媒介查询,为不同设备加载相应样式

有条件应用样式:

 <style>

    @media all and(min-width:500px){ ... }

    @media (orientation){ ... }

</style>

代码解析:

第一行媒体查询代码指的是:为宽度大于等于500px的设备设置样式。

第二行媒体查询代码指的是:为纵屏状态(可见区域大于或等于宽度)下的移动端设备设置样式。

有条件的加载样式表:

<head>

    <link rel="stylesheet" href="wide.css" media="screen and(min-width:1024)" />

    <link rel="stylesheet" href="mobile.css" media="screen and(max-width:320)" />

</head>

代码解析:

第一行媒体查询代码指的是:为宽度大于等于1024px的设备,加载wide.css文件。

第二行媒体查询代码指的是:为宽度小于等于320px的设备,加载mobile.css文件。

5.使用百分比和rem替换px

除了布局和文本,"自适应网页设计"还必须实现图片的自动缩放。

代码效果对比:

/*使用固定像素*/

.box {

    float: left

    width: 658px

    font-size: 72px

    text-align: center

    line-height: 195px

}

/*使用百分比和rem*/

.box {

    float: left

    width: 60.93%

    font-size: 1.71rem

    text-align: center

    line-height: 4.64rem

}

代码解析:

水平方向的值,将具体像素调整为百分比。百分比的计算是根据父级的内容区宽度进行计算的。

例如,父级宽度为1080px, 子级元素为197px,那么子元素转换为百分比为:197/1080*100%=18.24%。需要注意的是百分比根据父级计算,当标签结构级别不同时,计算公式中的“分母”也有所不同,在开发时这个地方很容易出现问题,请务必注意。

垂直方向的值,将具体像素调整为rem,与水平方向相比,垂直方向的计算就比较简单。例如,行高为195px,HTML标签当前的字体大小为42px,将行高转换为rem单位,即195/42= 4. 64rem。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

meta是html语言head区的一个辅助性标签,位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。

在你的问题

首先 name="viewport" 该属性仅对移动端有效对PC端是无效的

width=device-width

定义该网页的视口大小宽度为:device-width 【用户所使用设备的宽度】

initial-scale=1.0

意思是指视口缩放比例为1.0,也就是不缩放。

视口可以理解为设备或文档对象的逻辑尺寸。

前端ppk大神认为,移动设备上有三个viewport(视口)。

但可以换句话说,可以缩放的浏览器中都具有三个视口概念,分别是 布局视口、视觉视口、理想视口。

但在iphone和ipad上,无论是竖屏还是横屏,device-width宽度都是竖屏时理想视口的宽度。

当只设置width属性值,而不指定initial-scale属性值时,大多数浏览器会自动缩放。

如果width属性值大于理想视口宽度,则视觉视口放大为width的值,计算得到scale小于1.0;

如果width属性值小于理想视口宽度,则视觉视口缩小为width的值,计算得到scale大于1.0;

这么做的目的是让设备屏幕把完整的页面呈现出来(页面横向塞满屏幕,计算得到scale)

设置width而不指定initial-scale时,设置minimum-scale = 1.0会能够阻止浏览器放大视觉视口,设置maximum-scale = 1.0 能够阻止浏览器缩小视觉视口。(这里有点绕,可以联想下放大镜)

这里不做介绍了。可以参看一篇文章网页链接

希望对你有所帮助~记得采纳


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11675050.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存