初步使用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 相关文章推荐
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 Javascript
求解开jscript.encode代码的asp函数
Feb 28 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
浅谈JavaScript中指针和地址
Jul 26 Javascript
jQuery使用经验小技巧(推荐)
May 31 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
vue-router项目实战总结篇
Feb 11 Javascript
Node.js使用Angular简单示例
May 11 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
Oct 25 Javascript
require.js 加载过程与使用方法介绍
Oct 30 Javascript
Node.js API详解之 repl模块用法实例分析
May 25 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打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
PHP6新特性分析
2016/03/03 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
让FireFox支持innerText的实现代码
2009/12/01 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
vue.js中created方法作用
2018/03/30 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
python排序方法实例分析
2015/04/30 Python
python中的字典使用分享
2016/07/31 Python
Python生成随机数组的方法小结
2017/04/15 Python
Python实现的爬虫功能代码
2017/06/24 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
意向书范文
2014/03/31 职场文书
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技