初步使用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 相关文章推荐
select组合框option的捕捉实例代码
Sep 30 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
Jul 25 Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
Sep 13 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
Apr 25 Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 Javascript
使用ES6语法重构React代码详解
May 09 Javascript
微信小程序的部署方法步骤
Sep 04 Javascript
node解析修改nginx配置文件操作实例分析
Nov 06 Javascript
使用Ajax实现进度条的绘制
Apr 07 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
php入门小知识
2008/03/24 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
Seajs的学习笔记
2014/03/04 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python3基础之基本运算符概述
2014/08/13 Python
Python open()文件处理使用介绍
2014/11/30 Python
Python元组常见操作示例
2019/02/19 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
python实现简单遗传算法
2020/09/18 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
学院书画协会部门职责
2013/11/28 职场文书
技校生自我鉴定
2013/12/08 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
委托证明范本
2014/11/25 职场文书
2014年科普工作总结
2014/12/06 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python