《半吊子全栈系列:Boostrap3》
前言:后端开发做网站
几年前,作为一名纯粹后端Java开发人员,对JS还没开窍,对于页面只停留在《十天学会DIV+CSS》这种程度,但是我又想做网站怎么办?
这时候Boostrap3出现了,并成为我进军前端的踏板,到现在满打满算也做了大大小小10来个网站,在专业的UI设计人员看来可能上不了台面,但从我这个程序猿来看,perfect~
先放出一个自己原创的几个demo,俗话说,只有实践过的人才有发言权。






本人做的不算好,因为我本来是做Java的后台开发者,大神绕道,谅解,适合初中级BootStrap3研究者(以上界面都支持手机、平板、PC端,感兴趣的可以和我交流)。
Bootstrap 简介
Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的。Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品。目前稳定版本是Bootstrap v3.3.7,最新版是Bootstrap 4.x,不过还是测试版。
Bootstrap 3 的CSS技术是基于LESS的动态CSS。当然他完美的将CSS3和HTML5,流体式响应布局整合起来,让三者不仅仅停留在刀耕火种的概念阶段,让三大潮流前端技术在快速应用上成为了可能。以上页面是用BootStrap3做出来的, Bootstrap 2 和Bootstrap 3 可以说是不同的产品,Bootstrap 2有一些可视化拖拽工具,但 Bootstrap 3就必须自己手动写,Bootstrap 3 是响应式布局、移动设备优先的 WEB 项目,学习难度大,但3是趋势,成熟产品,推荐学习。Bootstrap 3 有几大特色:移动设备优先、响应式布局、栅格系统。
简而言之,就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本。响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用大势所趋来形容也不为过。
优点不言而喻,缺点也是有的:
1、兼容各种设备工作量大,效率低下;
2、代码累赘,会出现隐藏无用的元素,加载时间加长;
3、其实这是一种折中性质的设计解决方案,多方面因素影响而达不到最佳效果;
4、一定程度上改变了网站原有的布局结构,会出现用户混淆的情况。
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。
使用规则:
4、....(规则很多)
一句话总结,栅栏系统可以各种嵌套。无任何限制。唯一的规则是这一行的列宽度要相加等于12,大致效果如下:
<div class="container">
<div class="row">
<div class="col-xs-6 col-md-4">
</div>
<div class="col-xs-6 col-md-4">
</div>
<div class="col-xs-6 col-md-4">
</div>
</div>
</div>
最后说一句,想用BS3的 一定要抛弃原有的DIV设计理念了,一定时时刻刻都试着运用12栅栏系统,不要再用传统DIV布局了!!那样你的页面虽然看起来很 BootStrap3 但是 它完全没有流体特性。 放弃传统DIV布局,把大脑里装上12格栅栏系统。
关于boostrap 的介绍就到这边,有兴趣学习相关基础的同学,可以直接到中文网学习。
Bootstrap 学习路线
1、基础学习:前往中文网或者菜鸟教程,学习Boostrap的基础CSS和JS组件,能够自己写出demo布局。
2、学会抄袭:BS3的开发是需要抄袭的,而且必须抄袭!! 官方甚至鼓励抄袭!! 首先你要会使用官方已经公布并且整合好的各种控件,各种特效,会用之后,你还要知道怎么把这些控件和特效整合起来,创造一个新的特效。知道每个参数具体是控制什么的,用大脑记下来(BS3的痛苦就在这儿 你需要去记忆一些东西)。实在记不下来 开发的时候就开着文档,写着代码,不懂的随时点击随时看。。
如果你熟练抄袭官方文档 并且会自己组合控件的时候 可以说你已经入门了!!!
3、样式组合:这一阶段差不多已经会写一个BootStrap3 官方默认主题,色彩渣到极致的页面了,http://bootswatch.com/ 这个网站里面有好几套免费主题, 下载他们的CSS样式,直接替换官方的即可,你会觉得页面焕然一新!当然,如果你的CSS功底够扎实,不妨自己组合自己设计样式。
4、扩展插件:Bootstrap 自带 12 种 jQuery 插件,中文网上面有,这些都是最基础的,但这些远远不够。“想要更多的组件(我的财宝)吗?想要的话就给你吧,去找吧,互联网(伟大航路),我把世界的一切都放在那里,ONEPIECE!”
5、设计理念:到了这一阶段就要多和UI设计师讨论讨论,什么极简原则、扁平化设计拉,多逛一些花瓣网之类的设计网站,提升艺术家境界。。啧啧,其实“闻道有先后,术业有专攻”,设计理念不必强求,多逛一些Bootstrap优站精选即可。
编后语
要学好boostrap 光记住大量的Class和零散的组件写法是没用的,只有不断动手去尝试,去组合,不论美丑,才能让它们展现出完整的蓝图,这也是就是前端建站的乐趣所在。
“纸上得来终觉浅,绝知此事要躬行”
《半吊子全栈系列:Boostrap3》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- sgu176 Flow Construction【有源汇有上下界最小流】
同样是模板题. 首先将有源汇转换为无源汇,假设原来的源汇为st,我们加入的源汇为ST,那么我们应该从t到s连一条流量为+∞的边,使原来的st满足收支平衡,退化为普通节点. 分离必要边和其他边,从S到T ...
- 那些年我们一起改过的bug
ORA-01861: 文字与格式字符串不匹配 ORA-00936: 缺失表达式 ORA-01810 格式代码出现两次 ORA-01722: 无效数字 无效的列索引
- Python3基础 用list()查看filter()返回的对象
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- 详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
http://www.jb51.net/article/70415.htm 含Grunt系列教程 这篇文章主要通过两种方案详解Grunt插件之LiveReload实现页面自动刷新,需要的朋友可以 ...
- word页眉页脚 首页 索引 正文各不同的处理方法
1.在目录和正文之间,加入分隔符——分节符——下一页,然后再添加页眉页脚,然后再添加索引:
- DELPHI中MessageBox的用法
MessageBox对话框 输入控件的 ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...
- Selenium2(java)selenium常用API 四
WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click ...
- js原生之一个面向对象的应用
function IElectricalEquipment() { } IElectricalEquipment.prototype = { poweron: fu ...
- php中利用array_filter过滤数组为空值
[导读] 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的.其实我们可以 ...
- HTML 多媒体、Object 元素、音频、视频
Web 上的多媒体指的是音效.音乐.视频和动画. 现代网络浏览器已支持很多多媒体格式. 什么是多媒体? 多媒体来自多种不同的格式.它可以是您听到或看到的任何内容,文字.图片.音乐.音效.录音.电影.动 ...