前言:后端开发做网站

  几年前,作为一名纯粹后端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、一定程度上改变了网站原有的布局结构,会出现用户混淆的情况。

  有需求就会有解决方案,说到响应式布局,就不得不提起CSS3中的Media Query(媒介查询),Bootstrap 正是利用了这种方式配合流式栅格系统选择了折衷方案。
 
栅格系统

  Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

  使用规则:

  1、一行最多12列,超过则另起一行,列.col-sm-*有适合多种屏幕的,通常用md是中屏,要考虑兼容多个的话,可以写多种;
  2、所有.row必须放在容器里面,所有.col列必须放在.row行里面(嵌套也是如此);
  3、列偏移使用.col-md-offset-*,列排序.col-md-push-*;

  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》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. iOS9网络适配

    今天升级Xcode7.0,发现网络访问失败. 输出错误信息:The resource could not be loaded because the App Transport Security po ...

  2. displayport

    去年买了一张ATI的显卡,但是很坑爹的是显卡后面没有VGA接口,除了一个HDMI,另外两个接口不认识,后来认识了DVI,用DVI连接显示器,剩下一个接口是什么一直没管,前两天电脑清灰,感兴趣了,去查了 ...

  3. Xcode各版本官方下载

    官方下载, 用开发者账户登录,建议用Safari浏览器下载. 官方下载地址: https://developer.apple.com/xcode/downloads/ Xcode 66.4: http ...

  4. 非root用户Memcached repcached安装

    安装memcached前先要确定系统是否安装了gcc: 1.解压安装包: tar -zxf memcached-1.2.8-repcached-2.2.tar.gz 2.编译: 系统应安装了libev ...

  5. python callable 函数

    callable(object) 中文说明:检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojbect绝对不会成功. 注意:类是可调用的 ...

  6. APK的反编译

    有秘密的地方就有见不得光的东西,我讨厌这些,所以对于某一个XX圈APP极其反感,感觉就像一个色情网站 一.ApkTool的使用 看了几个教程,自己下载的好像总是不完整,下载包解压后一个没有aapt.e ...

  7. UVa 10427 - Naughty Sleepy Boys

    题目大意:从1开始往后写数字,构成一个如下的字符串 123456789101112... .求第n位的数字是多少. 找规律,按数字的位数可以构建一个类似杨辉三角的东西,求出第n位是哪个数的第几位即可. ...

  8. 在windows上搭建ipv6代理

    事出有因,学校每天12:00之后断网,断网之后怎么办?难道直接睡了?我不甘心.     幸好学校还是留有余地,在断网之后,还是能够上ipv6的,只是现阶段互联网对ipv6支持很不理想,怎么办?刚刚发现 ...

  9. js控制div显示与隐藏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. JQuery flot API文档 中文版

    调用plot函数的方法如下: var plot = $.plot(placeholder, data, options) 其 中placeholder可以是JQuery的对象,DOM元素或者JQuer ...