初步使用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 相关文章推荐
js中的caller和callee属性介绍和例子
Jun 07 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
jQuery操作动态生成的内容的方法
May 28 Javascript
DOM事件探秘篇
Feb 15 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
babel之配置文件.babelrc入门详解
Feb 22 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
谈谈为什么你的 JavaScript 代码如此冗长
Jan 30 Javascript
ES6基础之展开语法(Spread syntax)
Feb 21 Javascript
Vue3.0中的monorepo管理模式的实现
Oct 14 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 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
帅气的琦玉老师
2020/03/02 日漫
域名查询代码公布
2006/10/09 PHP
php遍历目录viewDir函数
2009/12/15 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
python新手经常遇到的17个错误分析
2014/07/30 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python单例模式实例详解
2017/03/01 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
WxPython建立批量录入框窗口
2019/02/27 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
Pycharm调试程序技巧小结
2020/08/08 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
演讲稿怎么写
2014/01/07 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书