初步使用bootstrap快速创建页面


Posted in Javascript onMarch 03, 2016

1. 安装bower前端包管理器

bower是一个前端软件包管理器,便于安装、更新以及卸载javascript,css,html等框架资源,并解决之间的相互依赖关系。

npm install -g bower // 安装
bower help // 查看帮助

这里YY一下:

npm是node.js的包管理器,通过它安装了express,express-generator,supervisor,bower等等软件,bower又是前端框架的软件包,安装了bootstrap以及jquery等一些依赖包。突然发现简直是包包相扣啊,渐渐的醉了。其中的水实在是太深了,想简单学个web开发也不是那么容易的事啊,有种淡淡的忧伤。然并卵,心向往之,一如既往。

2. 安装bootstrap以及jquery

当然你也可以直接将bootstrap以及jquery下载下来,放入项目文档中,不用安装什么包管理器,自己解决简单的依赖关系就OK了,但是不都是为了快速建站嘛,装个包管理器自动解决依赖关系。并且在发布自己的项目的时候,也不需要将所有的框架包一块发布,而只需将相关的json文件放到项目里就可以了,别人一目了然你的依赖关系,便于快速搭建。

有了bower,直接bower install bootstrap就OK了,因为依赖关系,它会自动给你装上jquery,完事。

3. 模板引擎中引入bootstrap以及jquery

安装好了或者说项目中已经放置好了bootstrap和jquery之后,接下来就是在文件中引用它,在views文件夹中创建一个head.jade文件,顾名思义就是放置HTML中head标签里面的一些内容。如下代码:

link(href='/bootstrap/dist/css/bootstrap.min.css',rel='stylesheet')
script(src='/jquery/dist/jquery.min.js')
script(src='/bootstrap/dist/js/bootstrap.min.js')

创建完head.jade后,接下来在所有需要的页面中,加上include head.jade包含到页面中就OK了。

4. 使用模版布局

由于基本上所有的页面都需要包含head.jade,总不能每个页面都写上include head.jade 吧,于是布局文档layout.jade就要起作用了。单独创建layout.jade文件,将一些共性的代码写进去。

doctype html
html
 head
 title= title
 link(rel='stylesheet', href='/stylesheets/style.css')
 include ./includes/head
 body
 include ./includes/header
 h1= title
 block content

如上,一些独立的模块依然可以通过include语句进行加载,最后一句block content就是模版布局的关键,意思就是在模版的此处插入页面,也就是应用此模版布局的差异处。

然后在应用此模版布局的页面中,加上extent layout就OK了。如下:

extends ../layout
block content
 p Welcome to #{title}

注意:extends模版文件以及include代码中使用文件尽量使用相对路径。

5. 开始编辑页面

准备工作都做得差不多了,那么接下来就是使用jade语法以及bootstrap样式来编辑页面了。下面简单大致写个首页(index)以及详情页(detail)。

初步使用bootstrap快速创建页面

// index.jade
extends ../layout

block content
 .container
 .row
 h1= title
 small 图书列表
 each item in books
 .col-md-3.col-xm-6
  .thumbnail.text-center
  a(href='/books/#{item._id}')
  img(src='#{item.poster}',alt='#{item.title}')
  .caption
  h3= item.title
  .btn-group
  a.btn.btn-primary(href='/books/#{item._id}') 查看详情
  a.btn.btn-primary(href='#{item.buyUrl}') 购买书籍

初步使用bootstrap快速创建页面

// detail.jade
extends ../layout

block content
 .container
 .row
 h1= title
 small= book_title
 .col-md-9.col-sm-9
 .thumbnail
  img(src='#{book_poster}')
  .caption
  p= book_info
  a.btn.btn-primary(href='#{book_buyUrl}') 购买书籍
 .col-md-3.col-sm-3
 h3 作者
 p #{book_author}
 h3 出版年月
 p #{book_year}年
 h3 页数
 p #{book_pages}页
 h3 定价
 p ¥#{book_price}

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

上面两个页面是bootstrap里最基本的布局,文章就为大家介绍到这,感兴趣的朋友可以继续研究,共同探讨。

Javascript 相关文章推荐
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
xtemplate node.js 的使用方法实例解析
Aug 22 Javascript
基于javascript实现按圆形排列DIV元素(三)
Dec 02 Javascript
微信小程序tabbar不显示解决办法
Jun 08 Javascript
ES6学习教程之对象字面量详解
Oct 09 Javascript
javascript基于定时器实现进度条功能实例
Oct 13 Javascript
vue keep-alive 动态删除组件缓存的例子
Nov 04 Javascript
Openlayers实现地图的基本操作
Sep 28 Javascript
ES11新增的这9个新特性,你都掌握了吗
Oct 15 Javascript
JS动态增删表格行的方法
Mar 03 #Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 #Javascript
基于javascript html5实现多文件上传
Mar 03 #Javascript
编写高质量JavaScript代码的基本要点
Mar 02 #Javascript
JS获取当前脚本文件的绝对路径
Mar 02 #Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 #Javascript
浅谈JS原型对象和原型链
Mar 02 #Javascript
You might like
PHP 登录记住密码实现思路
2013/05/07 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
node.js中watch机制详解
2014/11/17 Javascript
node.js中的console用法总结
2014/12/15 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
深入理解Python变量与常量
2016/06/02 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
学生信息管理系统python版
2018/10/17 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
电子商务专业求职信
2014/03/08 职场文书
校车安全责任书
2014/08/25 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
优秀员工推荐材料
2014/12/20 职场文书
2016年大学生暑假爱心支教活动策划书
2015/11/26 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android