响应式网页和bootstrap框架的基础知识及其简单应用

一、响应式网页

  1. 一个页面,可以根据浏览设备的不同,以及特性的不同,而自动改变布局、大小等

  2. 响应式网页的三个特征

    1)流式网格布局(fluid)
    2)可伸缩的图片和字体
    3)CSS3 Media Query - 根据客户端浏览设备的特性,有选择的执行部分css
    
  3. 优缺点

    优点:可以自动适配PC/PAD/PHONE浏览器屏幕
    
    缺点:代码变复杂,需要考虑更多兼容性,并不适合内容非常多的网页
    

二、如何测试响应式网页

1、真实物理设备

    优点:测试结构真实可靠
    不足:测试任务量太大

2、使用第三方软件

    优点:无需添置真实设备
    不足:软件测试效率低,部分功能无法测试,测试结果有待进一步验证

3、使用浏览器模拟器测试

    优点:测试功能强大,简单易用,
    不足:测试结果有待进一步验证

三、响应式布局必须清楚的两个概念

  1. viewport - 视口

    1) 2010年之前,html网页基本都是为pc设计的,宽度比较大,在手机上的显示内容会挤压到一块,后来iOSiOS引入了viewport(视口)的概念,来优化手机上观看网站的体验
    
    2)  iOS引入了viewport(视口)的概念:用于显示网页内容的一个逻辑概念,其高度和宽度都可以任意制定,网页不是显示在物理窗口,而是显示在视口中-就可以实现大网页不经缩放,直接显示手机中,但需要用户来回滑动
    
    3) viewport的用法
    
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" >
    
    viewport 可以指定如下属性:
    
       width:  视口的宽度,可以取值为数值,或device-width
       height:视口的高度,一般不指定
       initial-scale:初始时的缩放倍率
       minimum-scale : 允许的最小缩放倍率
       maximum-scale :  允许的最大缩放倍率
       user-scalable : 是否允许用户手动缩放,可取值1/0/yes/no
    
  2. CSS3 media query

    1) 作用:根据客户端浏览设备的特性,有选择的执行部分css
    
    2) media: 指浏览网页的设备,如screen
    
    3) Query: 查询出当前浏览设备的特性,如类型、宽度、高度、分辨率、色彩、方向(landscape/portrait)
    
    4) css3MediaQuery有两种用法
    
     根据媒体的特性,加载不同的外部css
    
     <link media="screen and (min-width:990px) and (max-width:1000px)" rel="stylesheet" type="text/css" href="css/pc.css"/>
    
     不足:客户端会不管媒体特性,请求所有的css文件
    
     根据媒体的特性,执行某段css中的部分内容
    
     @media screen and (min-width: 990px) {}
    
     https://wangliguang.github.io/categories/
    

三、如何编写响应式网页

1. 在head标签中,声明viewport元标签, 使网页的视口和浏览器的宽高保持一致

    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" >

2. 根据浏览器的不同,加载不同的css文件

    <link rel="stylesheet" type="text/css" media="screen and (min-width: 400px)" href="smallScreen.css" />

    <link rel="stylesheet" type="text/css" media="screen and (min-width: 400px) and (max-device-width: 600px)" href="tinyScreen.css" />

3. 同一个css文件中,也根据不同的屏幕分辨率,选择应用不同的css规则

    @media screen and (max-device-width: 400px) {

       .column {
          float: none;
          width:auto;
       }

       #sidebar {
          display:none;
       }
    }

4. 注意:

   1) 所有元素的宽不能制定固定值,必须使用相对的宽度值

    width:"60%" 或者 width:"auto"

   2) 字体不能使用绝对大小(px),必须使用相对大小(em)

   3) 布局用的各个区块的位置都是浮动的,不是固定不变的

   4) 除了布局和文本,还必须实现图片的自动缩放,或者根据客户端屏幕的不同,加载不同尺寸的图片

       img {

          max-width:100%;
        }

四、 Bootstrap

 www.bootcss.com
  1. 是一个html/css/js框架,适用于移动设备优先的响应式网页

     V2: 面向PC进行了样式设定,同时兼顾pad和phone
    
     V3: 面向Phone进行样式设定,同时兼顾了PC
    
    主要涉及:
    
     HTML: 为H5扩展了一些自定义属性 
    
     CSS: CSS Reset + 几千个class
    
     JS: 基于JQ提供了十几个插件函数
    
  2. bootstrap分为五部分

    1. 起步startup
    
        创建一个bootstrap页面,查看对下述标签进行了哪些样式重置
    
        html body h1-h6 a img table ul
    
    2. 全局css样式 global css
    
        1) 按钮
    
          bootstrap中常用的五种颜色
    
                红色->危险
                绿色->成功
                黄色->警告
                浅蓝色->信息
                深蓝色->基础的
    
          bootstrap中常用的四个大小
    
              btn-lg -》大
             btn-md -》中
             btn-sm -》小
             btn-xs -》最小
    
           块级按钮
              btn-block
           调整按钮的位置
    
              pull-right ->右浮动
             pull-left  ->左浮动
    
        2) 图片
    
                img-rounded 圆角
                img-circle 圆形
                img-thumbnail 缩略图
                img-responsive 图片支持响应式布局
    
        3) 排版和代码,仅作了解
    
           文本颜色:
                   text-danger
                   text-success
                   text-warning
                   text-info
                   text-primary
    
           背景颜色
                   bg-danger
                   bg-success
                   bg-warning
                   bg-info
                   bg-primary
           文本对齐方式       
                   text-left
                   text-right
                   text-center
                   text-justify
    
           文本对齐方式
    
                   text-lowercase
                   text-uppercase
                   text-capitalize
    
        4) 列表
                   list-unstyle 去掉列表项样式
                   list-inline 将所有元素放在同一行
    
        5) 表格
          
               bootlint是一个js,由bootstrap官方提供,用于检测使用bootstrap的页面中场景的html错误,class使用方面的错误-默认请求下浏览器检查不出来的
    
               table
    
               table-bordered 带边框的
    
               table-responsive 响应式表格,注意,使用在table的父元素上,而不是table上
    
               table-striped 隔行变色的表格
               table-hover 带悬停效果的表格
    
        6) 栅格布局系统
    
        7) 表单
    
  3. 组件commponent

  4. 插件plugin

  5. 定制customize

总结:

  1. 响应式布局就是bootstrap

  错的,使用bootstrap是为了更加简单的做响应式页面

  2. viewport,是一个逻辑概念,可以设置宽高,用于显示页面

  3. css Media query 根据不同的情况使用不同的css样式

  4. 自己做响应式页面

     1) 设置viewport宽=device-width

     2) 使用css3 media query加载样式

     3) 注意点

       浮动 字体设置相对的 width相对的 img-》max-width:100%

  5. bootstrap做响应式

      1. ie兼容
      2. 设置viewport
      3. 导入关键css文件

         css reset + 上千个类

      4. 使用css hack 让低版本ie兼容html5新标签和cssmediaquery

      5. 给元素设置类

      6. 导入bootstrap的关键js文件
      查看bootstrap中对h1-h6,img, body的重置样式

五、 案例展示

cssmediaquery在一个css文件中选择执行不同的css样式

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="allDevice.css">
</head>
<body>
<h1在一个css文件中使用不同的样式/h1>
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </p>
</body>
</html>
贴图

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容