Bootstrap开发漂亮的前端界面之实现原理

引:Bootstrap采用的是一个“响应式”设计。响应式Web 设计是一个让用户通过各种尺寸的设备浏览网站获得良好的视觉效果的方法。例如,您先在计算机显示器上浏览一个网站,然后再智能手机上浏览,智能手机的屏幕 尺寸远小于计算机显示器,但是你却没有感觉到任何差别,两者的用户体验几乎一样,这说明这个网站在响应式设计方面做得很好(响应式:简单可以理解为不同的 设备屏幕的大小是不同的,但是页面中的内容是固定的,为了让用户在不同大小屏幕看到的内容更加友好,页面的内容或排版需要更随屏幕的变化而变化)。

一个简单的列子:问题分析,我们需要做一个网站,而且需要让网页中的内容居中显示(90%的网站都是如此)。

1440*900分辨率效果如下:

通过firebug工具查看到container的内容宽度为1150,内边距为15(左边、右边)*2,所占总宽度为1150+15*2=1180px。

接下来,请尝试拖动浏览器让浏览器的宽度变小,注意当浏览器的宽度小于1200px的时候你会发现container的宽度变为了970(内容宽度940+内边距为15(左边、右边)*2)

 

通过浏览器宽度修改而导致container的宽度变化的这个细节,我们可以看出bootstrap内部感知的了这个小细节,并且做出了一定的响应。那么Bootstrap到底使用了什么高端的技术来实现这个功能的。

CSS3 Media Queries(媒体(设备)查询)

Media Queries含义:为不同的媒体类型添加某些条件,检测设备并采用不同的样式表。

简单例子:

图为普通屏幕和打印分别定义样式

普通页面显示内容为

打印预览页面显示内容为 (firefox打印预览显示:文件--->打印预览)

通过以上的一个简单的例子你已经知道Media Queries(媒体查询)到底能干什么了,页面内容在不同的媒体环境运行时,会自动查询应用我们编写的特定样式。

Bootstrap中也是使用了Media Queries(媒体查询)来实现了响应式布局 ,bootstrap.css中定义如下代码:

以上代码实现了随浏览器宽度的变化container容器的宽度也进行变化。

@media部分代表任何媒体 

(min-width: 1200px)部分代表条件,min-width指媒体(浏览器)宽度不小于(大于)1200条件成立。 比如:浏览器的宽度为1250,条件成立使用该样式。浏览器的宽度为1119,条件不成立。

bootstrap.css中很多地方都使用了@media(media queries媒体查询),比如工具条、栅格(网格)系统。建议各位读者打开bootstrap.css文件,搜索“@media”,对这些样式进行分 析,这对学习bootstrap非常有帮助。

关注作者:

       

包括源代码、数据库文档、数据库创建SQL脚本。一套基于ASP.NET MVC+EF6+Bootstrap开发出来的框架源代码! 采用主流框架,容易上手,简单易学,学习成本低。可完全实现二次开发、基本满足80%项目需求。 可以帮助解决.NET项目70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。 支持SQLServer、MySQL、Oracle、SQLite、Access 等多数据库类型。模块化设计,层次结构清晰。内置一系列企业信息管理的基础功能。 操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到导航菜单、功能按钮。 数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段 兼容目前最流行浏览器(IE8+、Chrome、Firefox、360浏览器) 1、前端技术 JS框架:Bootstrap、JQuery CSS框架:Bootstrap v3.3.4(稳定是后台,UI方面根据需求自己升级改造吧)。 客户端验证:jQuery Validation Plugin。 在线编辑器:ckeditor、simditor 上传文件:Uploadify 数据表格:jqGrid、Bootstrap Talbe 对话框:layer 页面布局:jquery.layout.js 图表插件:echarts、highcharts 2、后端技术 核心框架:ASP.NET MVC5、WEB API 持久层框架:EntityFramework 定时计划任务:Quartz.Net组件 安全支持:过滤器、Sql注入、请求伪造 服务端验证:实体模型验证、自己封装Validator 缓存框架:微软自带Cache、Redis 日志管理:Log4net、登录日志、操作日志 工具类:NPOI、Newtonsoft.Json、验证码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值