@(目录)html
让咱们的 Web 开发更简单,更快捷;前端
减轻维护成本(统一了代码风格)
目录结构
|——css // 本身定义的css文件
|——js // 本身写的js文件
|——font // 本身制做的字体文件
|——img // 项目中用到的图片目录
|——lib // 引入的第三方代码
index.html // 入口文件html5
css
除了公共级别样式,其他样式所有加上做用域。避免出现样式冲突的问题。
尽可能使用 直接子代选择器, 少用间接子代 避免错杀。
咱们约定全部的分割线使用下边框的方式实现。jquery
<!DOCTYPE html> <!-- 指定了咱们的页面语言 --> <html lang="zh-CN"> <head> <!-- 界面的字符编码 --> <meta charset="utf-8"> <!-- 指定了IE的编译版本,edge用最新的ie解释器 --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- 在移动端开发中,当界面宽度大于设备容器,会生成一个虚拟的容器,这个容器就是视口 --> <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no"> <!-- 上述3个meta标签*必须*放在最前面,任何其余内容都*必须*跟随其后! --> <title>demo</title> <!--图标--> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> <!-- Bootstrap --> <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet"> <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 --> <!-- 警告:经过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起做用 --> <!-- 条件注释 --> <!--[if lt IE 9]> <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script> <![endif]--> </head> <body> <h1>你好,世界!</h1> <!-- jQuery (Bootstrap 的全部 JavaScript 插件都依赖 jQuery,因此必须放在前边) --> <script src="lib/jquery/jquery.js"></script> <!-- 加载 Bootstrap 的全部 JavaScript 插件。你也能够根据须要只加载单个插件。 --> <script src="lib/bootstrap/js/bootstrap.js"></script> </body> </html>
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增长,系统会自动分为最多12列。css3
栅格系统的使用,不只可让网页的信息呈现更加美观易读,更具可用性。并且,对于前端开发来讲,网页将更加的灵活与规范。npm
栅格系统用于经过一系列的行(row)与列(column)的组合来建立页面布局,你的内容就能够放入这些建立好的布局中。注意row须要放在一个版心中。bootstrap
经过浮动实现的。row会进行浮动的清除。浏览器
缺点:
缺少复用性服务器
[class*=" icon-"]选择 class 属性值包含 " icon-" 的元素
data-
使用 data-* 属性来嵌入自定义数据:
data-如何取值?
不足
自已创做图标字体费时费力,后期维护成本偏高。
图表字体只能被渲染为单色的,或者CSS3的渐变色。
简单理解:所谓的雪碧图是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,而后利用css的背景定位来显示须要显示的图片部分;简单说就是在一整张图片中分割出本身想要的部分,也可理解为图片截取显示(坐标的移动)
不足
维护麻烦,若是修改其中的一张图,你须要修改整张图。
高清失真,为了适应不一样的分辨率,可能要准备多个规格的图片。
滚动条
子元素宽度/高度超过父元素宽度/高度,而且父元素设置overflow:scroll的时候出现滚动条。
注意检查咱们的条件。
为何这么设计?
对通用的样式进行封装,同时对不一样的主题增长一些拓展的样式。可让咱们的样式设计更加灵活,减小咱们的维护成本。设计的时候注意下降耦合度,保证咱们样式的独立性
css计算宽度的方法
使用calc()函数,注意两个参数与符号之间存在空格
触摸开始事件
触摸移动事件
触摸结束事件
vw、vh、vmin、vmax 的含义
vw、vh、vmin、vmax 是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位 1,表明相似于 1%。
视窗(Viewport)是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器。
vw、vh 与 % 百分比的区别
% 是相对于父元素的大小设定的比率,vw、vh 是视窗大小决定的。
vw、vh 优点在于可以直接获取高度,而用 % 在没有设置 body 高度的状况下,是没法正确得到可视区域的高度的,因此这是挺不错的优点。
作移动页面开发时,若是使用 vw、wh 设置字体大小(好比 5vw),在竖屏和横屏状态下显示的字体大小是不同的。
因为 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就能够用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。
移动设备 Android:自 4.4 版起就完美支持(2013年12月) iOS:自 iOS8 版起就完美支持(2014年9月*)