优秀的前端框架BootStrap的学习,快速带你入门,完成响应式布局

官网下载

在这里我还是要推荐下我自己建的web前端开发学习群:731669587,群里都是学web前端开发的,如果你正在学习前端 ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有前端软件开发相关的),包括我自己整理的一份2018最新的前端进阶资料和高级开发教程,欢迎进阶中和进想深入前端的小伙伴。

这个是必须要引入的东西,都给写好了,直接在官网复制就ok,但是他们的连接都是网络地址,需要改一下,自己所放那些文件的本地地址

这里面的东西,我们需要导入到我们的html项目中

要找到这个导入

导入之后的结果是这样的额

至此下载及导入工作就完成了,使用BootStrap需要一个基本模板,需要在这个基本模板的基础之上进行开发




Bootstrap基本模板

BootStrap


移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域

如果不设置meta viewport标签,那么移动设备上浏览器默认的宽度值为800px,980px,1024px等这些,总之是大于屏幕宽度的。但带来的后果就是浏览器会出现横向滚动条,因为浏览器可视区域的宽度是比这个默认的viewport的宽度要小的,这里的宽度所用的单位px都是指css中的px,它跟代表实际屏幕物理像素的px不是一回事。

在css中我们一般使用px作为单位,在桌面浏览器中css的1个像素往往都是对应着电脑屏幕的1个物理像素,这可能会造成我们的一个错觉,那就是css 中的像素就是设备的物理像素。但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理 像素是不同的。在为桌面浏览器设计的网页中,我们无需对这个津津计较,但在移动设备上,必须弄明白这点。在早先的移动设备中,屏幕像素密度都比较低,如 iphone3,它的分辨率为320x480,在iphone3上,一个css像素确实是等于一个屏幕物理像素的。后来随着技术的发展,移动设备的屏幕像 素密度越来越高,从iphone4开始,苹果公司便推出了所谓的Retina屏,分辨率提高了一倍,变成640x960,但屏幕尺寸却没变化,这就意味着 同样大小的屏幕上,像素却多了一倍,这时,一个css像素是等于两个物理像素的。其他品牌的移动设备也是这个道理。例如安卓设备根据屏幕像素密度可分为 ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八门,安卓设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不 同,没有一个定论。

该meta标签的作用是让当前viewport的宽度等于设备的宽度,同时不允许用户手动缩放。也不允许用户缩放不同的网站有不同的要求,但让 viewport的宽度等于设备的宽度,这个应该是大家都想要的效果,如果你不这样的设定的话,那就会使用那个比屏幕宽的默认viewport,也就是说会出现横向滚动条。

设置浏览器视口宽度为设备理想宽度

每个移动设备浏览器中都有一个理想的宽度,这个理想的宽度是指css中的宽度,跟设备的物理宽度没有关系,在css中,这个宽度就相当于100%的 所代表的那个宽度。我们可以用meta标签把viewport的宽度设为那个理想的宽度,如果不知道这个设备的理想宽度是多少,那么用device- width这个特殊值就行了

至此准备工作基本完成,下面进行使用BootStrap重写购物网站首页,要做网站首页,关键在于布局,前面用table进行过布局,然后有用div+css进行布局,现在使用BootStrap进行布局

BootStrap官方提供了两个容器,一个是container,还有一个是container-fluid,我们在用div的时候只用在div上写上class=“这两个样式之一”就可以使用这两个样式了,当然这两个样式还是有些区别的。

这里有两个div,分别给他们设置不同的class,可以看有出这两个样式有和不同,还有一点这官方给定的样式没有border,所以这里自己写一下,为了观看方便

效果是这样的,这是二者的区别

这个是官方给定的container的样式,如果对这个不满意,我们不要更改这个,而是在《style》中重写这个,注意《style》要在link引入之后,只有这样才能覆盖掉官方给定的,达到修改的目的

BootStrap主要给定全局css,组件,以及javascript插件,我们用到这方几方面内容的时候可以直接copy过来,因为官方给了大量的实例,非常方便,非常详细

栅格系统

Bootstrap的布局栅格系统原理

1栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。

2“行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。也就是说行必须写在class为.container (固定宽度)或 .container-fluid (100% 宽度)的div下

3通过“行(row)”在水平方向创建一组“列(column),创建一行,那么效果就相当于创建一列

4你的内容应当放置于“列(column)”内,并且,只有“列(column)”可以作为行(row)的直接子元素

5类似 .row 和 .col-xs-4 等这种预定义的类,官方都给定了固定的样式,可以用来快速创建栅格布局。Bootstrap 源码中定义的 mixin 也可以用来创建语义化的布局

6通过为“列(column)”设置 padding 属性,从而创建列与列之间的间隔(gutter)。通过为 .row 元素设置负值 margin 从而抵消掉为 .container 元素设置的 padding,也就间接为“行(row)”所包含的“列(column)”抵消掉了padding。

7负值的 margin就是下面的示例为什么是向外突出的原因。在栅格列中的内容排成一行

8栅格系统中的列是通过指定1到12的值来表示其跨越的范围。例如,三个等宽的列可以使用三个 .col-xs-4 来创建。

9如果一“行(row)”中包含了的“列(column)”大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列。

10栅格类适用于与屏幕宽度大于或等于分界点大小的设备 , 并且针对小屏幕设备覆盖栅格类。 因此,在元素上应用任何 .col-md-* 栅格类适用于与屏幕宽度大于或等于分界点大小的设备 , 并且针对小屏幕设备覆盖栅格类。 因此,在元素上应用任何 .col-lg-* 不存在, 也影响大屏幕设备。

我们通过栅格系统可以实现在不同大小设备上显示不同的页面布局,还可以让在不同大小设备上让一些东西不显示,这就是响应式布局,这些官方已经给定,想要什么效果就把官方给定的class添加就ok,具体实现我们不用关心

class=".col-xs-4 .col-sm-6"这个意思是这个在超小屏幕上占4列,在小屏幕上占六列,至于其它的大小的页面则没有任何效果,所以一般我们要对所有大小的屏幕都进行布局设计,防止其他大小页面网站不能友好显示

这个也比较常用,比如页面内容太多,在pc端正常显示,而在手机端我们需要让一些没有太多意义的内容隐藏掉,那么我们可以使用这些class来完成隐藏操作。

布局的时候要使用行还有列来基本布局,至于列在各种设备上占多大,还有列在什么设备上隐藏,需要以上的一些clas来搭配使用,这些事基本的布局操作,至于除了布局之外的一些表单之内的,官方也给提供了实例,直接copy然后修改一下就ok了。

下面重写购物网站首页

效果

通过代码可以看出这行的设计,首先改行写在了容器中,其次,行class=row,列class=好多,列的具体情况就是,在超小屏幕手机中每列占四,在平板屏幕中第一列占4,第二列占5,第三列占3,其他的页面尺寸就不多说了,这些都是根据不同大小的页面如何才能显示的很好来一点一点试的,还有一个在第二列中class=hidden-xs这个意思就是说在最小屏幕上这个div就不要显示了,隐藏,相当于代码删掉一个效果。还有一个图片设置了高度,这在实际开发中是不存在的,因为实际中图片大小应该是正合适的,还有一个列div设置了padding,这个效果就是使得登陆 注册 购物车距离上面远一点,能够达到居中的而效果,如果不写则默认贴着上面,这是官方给定的效果,我们可以重写,达到覆盖的效果。

下面编程第二行导航条,官方已经给定只需直接使用,修改个别地方就行

直接copy这个代码,然后放到

中,效果为

这个有几个问题,第一右边的Link DroDown没意义应该删掉

把这个代码删掉就ok了,之后效果为

还有一个问题就是搜索表框在中间,他应该在右边,找到搜索表框代码,改成right就ok

这样就ok了,这个样式默认为白色,如果想要设置成黑色只需再修改一个地方

这个文本框距离上面的logo区有点进,我们在div上设置一下margin就ok了

剩下的就将默认的英文,改成所需要的中文就ok了

上图中两个红色标记的一个意思是高亮显示,一个是分割线,这个可以注意到,还有一个是官方给定的li只有三个,如果想要多写几个直接复制就ok了格式一样就ok

在其他尺寸大小的屏幕上,它会自动变化布局,不用我们操作,小屏幕会自动变成这样

下面进行轮播图的设置,轮播图中也有官方给定的,在js插件中

代码(都要放在class=“container”的div中)写入之后效果为

此时只需把所需要在图片放入就ok

有一点要注意的是,我们轮播图有几张图片就要有几个li,li中data-slide-to是从0开始的,以后补充li的时候也要将这个数字给排好序,而且下面的div也要有相应的个数对应

这个轮播图自动具有轮播效果就不用再写一大堆js代码了

商品栏

分析一下这个商品栏,这个分为两行,购买放心品为一行,下面的为一行,下面的分为两列,左边一列占2,右边一列占10,右边又分为两行,其中第一行大的图品占6,剩下的每个占2,第二行,每个占2,共六个12.

要注意一点这个12是指每一行都有12,如上面的例子,一行占了两列,左边列为2,右边列为10,右边列又分两行,那么这个行还是12,而不是10,这要注意,只要是行,无论它外部是什么,他就应该按照12来分列

网站最后一行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351