这周学到的页面自适应的几种方法

上星期都是在学响应式的页面,主要是两种方法来做响应式的页面:

第一种:页面中的宽度都用百分比来做。

  • 页面中盒子的高度不能设固定高度。开始学DIV+CSS布局的时候我给每个盒子都设置了固定的宽和高,这样页面做起来非常快,只需要先把页面整体的布局结构搞定,再往里面丢内容就行了,但是后来发现这样的结构是错误的,调整浏览器的宽度里面的内容可能会冲破盒子。正确的思路是高度由内容去撑起来,不管你如何去缩小,内容都不会跑出盒子。
  • 百分比是按照父元素的宽度来计算的,包括margin 和padding的值,也是除以父元素的宽度,水平方向的单位都需要设置成百分比。
  • 然后字体的大小最好使用rem单位来设置,需要给根元素设置一个字体大小,比如html.body{font-size:10px},则1rem的大小为10px,方便在不同的屏幕尺寸来调整页面整体文本的大小。
  • 使用媒体查询来根据不同的屏幕尺寸来应用不同的样式

    @media only screen and (max-width: 500px) {
        body {
            background-color: lightblue;
        }
    }

    需要注意的是图片的宽度要设置成百分比,高度不需要设置,这样缩小屏幕时,图片自动的等比例缩小和放大。

第二种:页面所有的尺寸用rem单位来设置。

需要给页面添加以下代码:

1 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
2 <meta name="format-dection" content="telephone=no"/>
3 <script type="text/javascript">
4     !function(a){function b(){var b=a.document,c=b.documentElement,d=c.getBoundingClientRect().width;document.documentElement.style.fontSize=20*(d/360)+"px"}window.addEventListener("DOMContentLoaded",function(){b()},!1),window.addEventListener("resize",function(){b()}),b()}(window);
5     </script>

第一行代码的作用是禁止让用户缩放页面。

然后给根元素设置字体大小为20px。html,body{font-size:20px},后面页面中所有的尺寸按照PSD上面量出来后除以40转换成rem单位的数值,注意是任何尺寸都要需要去除以40,这比第一种设置百分比按照父元素的宽度去计算方便很多。

  • 图片需要设置宽和高,PSD量出来后除以40,少一个都不行,只设置一个图片会被拉变形。
  • 做手机端页面时,清除margin和padding 用*可能清除不掉,需要加上标签名字去清除。
  • 其他的按照正常的去做。
时间: 2024-10-27 14:21:24

这周学到的页面自适应的几种方法的相关文章

html5中让页面缩放的4种方法

html5中让页面缩放的4种方法 2013-10-22 14:45:03 分类: Web开发 1.viewport这种方法,不是所有的浏览器都兼容 2.百分比这种方法,可以兼容大部分浏览器,但是修改幅度比较大.main .login .txt1{margin-top:8.59375%; position:relative;}3.css transform这种方法,可以兼容大部分浏览器,但是页面的位置是居中的.w320{transform: scale(1,1);-ms-transform: sc

CSS 隐藏页面元素的 几 种方法总结

用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.我们只需要记住的细小不同点,根据不同情况选择上面这些方法中适合的方法来隐藏元素. d

一篇文章学会页面传值的10种方法(下)

一篇文章学会页面传值的10种方法(下) 6.代理委托实现页面之间的反向传值 这一种方法就是运用协议实现传值,这种方式也是在工程中常用的一种传值方法.首先创建好ViewController和SubViewController,在ViewController中创建好一个展示信息的Label,在SubViewController中创建好一个TextFeild,我们实现在第二个界面点击屏幕时,将TextFeild中的文字传到第一个界面,然后让背景颜色变色. 效果如下: 代理传值.gif 第一步: 首先我

一篇文章学会页面传值的10种方法(上)

一篇文章学会页面传值的10种方法(上) 1.最简单AB面正向传值 效果如下: 最简单的正向传值.gif 首先我们先创建两个视图控制器ViewController.swift和SubViewController.swift 设置第一个界面 首先在第一个界面创建好一个TextFeild,用来写我们要传的文字 import UIKit class ViewController: UIViewController {     let textField = UITextField()     overr

Css三栏布局自适应实现几种方法

Css三栏布局自适应实现几种方法 自适应实现方法我们可以从三个方法来做,一个是绝对定位 ,自身浮动法 和margin负值法了,下面我们一起来看看这三个例子吧,希望例子能帮助到各位同学. 绝对定位法三栏布局自适应: 代码如下 复制代码 <!doctype html> <html> <head> <meta charset="utf-8"> <title>绝对定位法</title> <style>  .pa

YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法

上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把查询结果的 HTML 代码呈现到 Razor 视图中,考虑到灵活性,需要能在任意 Razor 视图中调用该方法,这样任意 Razor 页面都能以统一的方式方便地共享该页面部件的 HTML 内容,这对于代码的重用性和可维护性都是非常有必要的. 为实现上述要求,本文介绍如下可供选择的三种方式.   1.

用 CSS 隐藏页面元素的 5 种方法

原文链接:用 CSS 隐藏页面元素的 5 种方法,转载请注明来源! 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.这篇教程将覆盖到

javascript页面刷新的几种方法

javascript refresh page 几种页面刷新的方法 本节内容:Javascript刷新当前页面的方法与实例. window.location.reload(),window.history.go(0)和document.execCommand(''Refresh''),这三个方法是最快速的.其他的都有明显的浏览器滚动条的出现. Javascript刷新页面的几种方法: 1 history.go(0)除非有<%..%>等需在服务端解释才能生成的页面代码,否则直接读取缓存中的数据不

实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法</title> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0; padding: