1.2.23  响应式布局基础

1.2.23.1  响应式布局介绍

  1.响应式布局是2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多终端 -- 而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的,其目的是为用户提供更加舒适的界面和更好的用户体验。

  2.优缺点

    优点:1)面对不同分辨率设备灵活性强

       2)能够快捷解决多设备显示适应问题

    缺点:1)兼容各种设备工作量大,效率低下

          2)代码累赘,会出现隐藏无用的元素,加载时间长

  例子:www.etao.com(现在在电脑网页端打开好像没有用响应式布局了)

1.2.23.2  响应式布局效果

  1.CSS中的Media Query(媒介查询):

    设备宽高:device-width,device-height

    渲染窗口的宽和高:width,height

    设备的手持方向:orientation 

    设备的分辨率:resolution

  2.使用方法:

    外联

    内嵌样式

<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="style.css" type="text/css" media="only screen and (max-width:640px)">
<!--外联样式-->
<style>
<!--内嵌样式-->
<!--注意and之后和括号之间的空格不能省略-->
@media screen and (min-width:640px){
body{
background-color: blueviolet;
}
}
</style>
</head>
<body>
</body>
</html>

1.2.23.3  响应式布局操作

传统的js操作实现响应式布局

index.html

<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width = device-width,initial-scale=1">
<!--initial-scale=1的作用是指按原比例缩放-->
<title>Title</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<div class="heading"></div>
<div class="container">
<div class="left"></div>
<div class="main"></div>
<div class="right"></div>
</div>
<div class="footing"></div>
</body>
</html>

style.css

*{
margin:0px;
padding:0px;
} .heading,
.container,
.footing{
margin: 10px auto;
}
.heading{
height:100px;
background-color: chocolate;
}
.left,
.right,
.main{
background-color: cornflowerblue;
} .footing{
height:100px;
background-color: aquamarine;
}
@media screen and (min-width: 960px){
.heading,
.container,
.footing{
width:960px;
} .left,
.main,
.right{
float:left;
height:500px;
} .left,
.right{
width:200px;
} .main{
margin-left:5px;
margin-right: 5px;
width:550px;
} .container{
height:500px;
}
}
@media screen and (min-width:600px) and (max-width:960px){
.heading,
.container,
.footing{
width:600px;
} .left,
.main{
float:left;
height:400px;
} .right{
display:none;
} .left{
width:160px;
} .main{
margin-left:5px;
width:435px;
} .container{
height:400px;
} } @media screen and (max-width:600px){
.heading,
.container,
.footing{
width:400px;
} .left,
.right{
width:400px;
height:100px;
}
.main{
margin-top:10px;
width:400px;
height:200px;
}
.right{
margin-top:10px;
} .container{
height:420px;
} }

1.2.24  响应式布局之bootstrap

1.2.24.1  Bootstrap介绍

  1.了解Bootstrap

    简洁、直观、强悍的前端开发框架、让web开发更迅速、简单。

  2.优点:

    快速、简单、灵活的栅格系统、小而强大、响应式布局、跨平台等

  网站:getbootstrap.com

  

  bootstrap在线引入

<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 实例</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <!--BootStrap中文网提供的免费CDN加速服务--> <!--Bootstrap核心CSS文件-->
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.1.3/css/bootstrap.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="http://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <!--Bootstrap核心JavaScript文件-->
<script src="http://cdn.bootcss.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> </head> <body>
</body>
</html>

1.2.24.2  css、组件以及JS介绍

  usingbootstrap.html

<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 实例</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <!--BootStrap中文网提供的免费CDN加速服务--> <!--Bootstrap核心CSS文件-->
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="http://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <!--Bootstrap核心JavaScript文件-->
<script src="http://cdn.bootcss.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> <link rel="stylesheet" href="ownstyle.css" type="text/css"> </head> <body>
<div class="container">
<div class="row">
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
</div>
</body>
</html>

  ownstyle.css

.row{
margin-bottom: 20px;
}
.row .row{
margin-top: 0px;
margin-bottom: 10px;
}
[class*="col-"]{
padding-top: 15px;
padding-bottom: 15px;
background-color: #eee;
background-color: rgba(86,61,124,.15);
/*后面的.15是指透明度和0.15一个效果*/
/*这里本来老师讲写的两行内容,但是只有后一个有作用,冲突了才会这样处理*/
border:1px solid #dddddd;
border:1px solid rgba(86,61,124,.2);
}

老师用的是老版的所以直接在head中修改bootstrap的版本号就可以了。

1.2.24.3  响应式布局之使用Bootstrap

这里我发现了几个问题:

  margin设定了之后是指距离元素的border距离,与其他元素的margin无关

  bootstrap里有很多已经设定好的类名,我们可以在网站中检查元素来知道到底该用什么类。

  一般用container来放置居中元素。

web前端学习(二)html学习笔记部分(9)-- 响应式布局的更多相关文章

  1. CSS3学习笔记--media query 响应式布局

    语法:@media screen and (min-width: 320px) and (max-width : 479px) media属性后面跟着的是一个 screen 的媒体类型(上面说过的十种 ...

  2. Web前端与移动开发学习路线图

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 这里整理的Web前端与移动开发学习路线图包含初中级两个部分,你可以通过百度云盘下载观看对应的视频 链接: http://pan.ba ...

  3. 想做web前端project师应该学习些什么?

    偶然间看到这篇文章.感觉博主写的挺不错的,假设你想做web前端project师的话,建议您阅读下面这篇文章,事实上web前端project师所做的工作事实上就是站点设计,有些小公司的美工事实上就是做w ...

  4. 最全的WEB前端开发程序员学习清单

    史上最全的WEB前端开发程序员学习清单! 今天为什么要给大家分享这篇文章呢,我发现最近来学前端的特别多,群里面整天都有人问:前端好找工作吗?前端要怎么学啊?前端工资怎么样?前端XX,前端XXX,虽然我 ...

  5. CSS3与页面布局学习笔记(四)——页面布局大全(负边距、双飞翼、多栏、弹性、流式、瀑布流、响应式布局)

    一.负边距与浮动布局 1.1.负边距 所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-100%.当一个元素与另一个元素margin取负值时将拉近距离.常见的功能 ...

  6. 【学习笔记】响应式布局的常用解决方案(媒体查询、百分比、rem、和vw/vh)

    原文转载:https://blog.csdn.net/sinat_17775997/article/details/81020417 一.媒体查询 不同物理分辨率的设备,在还原设计稿时,css中设置的 ...

  7. CSS学习笔记——响应式布局

    响应式布局 响应式布局是现在很流行的一个设计理念,随着移动互联网的盛行,为解决如今各式各样的浏览器分辨率以及不同移动设备的显示效果,设计师提出了响应式布局的设计方案.所谓的响应式布局,就是一个网站能够 ...

  8. [学习笔记]viewport定义,弹性布局,响应式布局

    一,移动端宽度设置viewport视图窗口,<meta name="viewport" content="width=device-width,initial-sc ...

  9. CSS响应式布局学习笔记(多种方法解决响应式问题)

    在做web开发的工作中,会遇到需要我给页面根据设计的要求,进行响应式布局,这里跟大家分享下我对于响应式布局的解决方法: 我主要利用的是CSS3 媒体查询,即media queries,可以针对不同的媒 ...

随机推荐

  1. 04_Hibernate检索方式

    一.Hibernate检索方式概述 OID检索方式:按照对象的OID来检索对象(get/load) HQL检索方式:使用面向对象的HQL查询语言 QBC检索方式:使用QBC(Query By Crit ...

  2. RQNOJ--160 竞赛真理(01背包)

    题目http://www.rqnoj.cn/problem/160 分析:这是一个01背包问题,对于每一道题目,都有两个选择"做"或者"不做". 但是唯一不同的 ...

  3. Spring框架中的核心思想包括什么

    (1)依赖注入 (2)控制反转 (3)面向切面

  4. 第六章 Odoo 12开发之模型 - 结构化应用数据

    在本系列文章第三篇Odoo 12 开发之创建第一个 Odoo 应用中,我们概览了创建 Odoo 应用所需的所有组件.本文及接下来的一篇我们将深入到组成应用的每一层:模型层.视图层和业务逻辑层. 本文中 ...

  5. 计算机程序是怎么通过cpu,内存,硬盘运行起来的?

    虽然以前知道计算机里有CPU,内存,硬盘,显卡这么些东西,我还真不知道这些东西是怎么协作起来完成一段程序的,能写出程序却不懂程序,也不会向别人解释他们的关系,所以特意总结了一下,写的比较浅显,和我一样 ...

  6. 2018-2019-2-20175332-实验四《Android程序设计》实验报告

    一.Android Stuidio的安装测试 题目要求: 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android St ...

  7. pyd打包补充

    网上说的将python代码,通过Cython打包成pyd的教程挺多,好处也多,主要有两个: 1.隐藏代码 2.加速运行速度 补充两点: 1.打包脚本配置 __build__.py from distu ...

  8. 进一步封装poco下的mysql操作

    为方便程序对mysql操作,我对poco的mysql进行了再次封装,主要是针对自己应用需要的部分. 开发工具:netbean 系统环境:centos7 poco版本: poco-1.9.0-all 主 ...

  9. Redis学习笔记03-持久化

    redis是一个内存型数据库,这就意味着,当主机重启或者宕机时,内存中的数据会被清空,redis可能会丢失数据.为了保存数据,实现数据持久化就必须要有一种机制,可以将redis数据库的数据保留在硬盘上 ...

  10. python 当文件目录不存在时,如何自动创建

    import os if not os.path.exists('foldername'): os.mkdir('foldername')