`
迪伦少校
  • 浏览: 792 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Bootstrap学习之路——初识bootstrap

阅读更多

      做web开发已有三年了,各种前端组件数不胜数,从最原始的html到DhtmlX,从比较简单的LigerUI到丰富的JqueryUI,再到RIA下的Flex,相信做过一点web开发的对这些东西都不陌生,控件使用了不少,也都能在特定的业务场景下物尽其用,再加上些css效果,也算差强人意吧,一直以来盼望着能有一个集大家之所长的家伙出来一统江湖,因为那确实有点群龙无首的感觉。曾经一度有段时间幻想过自己搞一个...后来一个偶然的机会去git上逛,看到了bootstrap,那时候就已经有1W+的fork了。原来是我孤陋寡闻了,这么好的东西,早就已经由Mark Otto和Jacob Thornton这两位Twitter的牛人搞出来了,当我编译完它的源码后,就迫不及待地写了个测试页面,瞬间被其清新简洁的界面风格深深吸引(这里说点题外话,iOS7刚出的那段时间我就萌生过这样的想法:将苹果“扁平化”的设计风格带入web应用。上个项目因为客户一些“极致”的需求不得不采用Flex进行页面端的开发,项目后期尝试写过一套基于Spark风格的扁平化皮肤,那时候已经跟iPhone上的显示效果有些神似了,不过当中付出的精力确实非常之大),然而这种风格已然成为bootstrap的IA(Internal Attribute),看到这浩大的工程,才发现当时实在是太异想天开了。不过有想法总是好的,如果你连想都不敢,你能敢做吗?

     书归正传,我习惯将Bootstrap称之为前端容器,它吸收了各种优秀的前端组件,并将它们有机结合在一起,让各个widgets有正确功能表现的同时,又有着统一的风格,页面浑然天成,更系统也更精致。它能让你从全局而非单个组件上对系统有个整体的把握,举个不太形象的例子,让你拿5只苹果,你不得不小心翼翼地抱着或捧着,但是bootstrap就像一个口袋,将苹果都装入其中,所以要拿苹果,你只需要提着这个口袋就可以了。相信大家在以后的学习和使用过程中,会对这一点有更深的体会和认识。

     Bootstrap基于Less来构建,关于什么是Less,这里不作过多的解释了,之所以选择用它来编写,是为了让bootstrap能拥有Less诸如 变量,继承,运算和函数等相关特性。同时,它也有Sass版本的支持,举个最简单的例子,大家都写过圆角(border-radius),需要写很多冗余的部分以适应不同的浏览器类似-moz-border-radius和-webkit-border-radius等,有了bootstrap,直接@include border-radius 12px;就搞定了。bootstrap已经内置了非常丰富的web组件,诸如导航菜单、进度条、提示框、模态框、下拉列表等常用界面元素,也提供了多种风格供我们选择使用,当然我们也可以根据自己的喜好自己扩展了。同时,许多优秀的插件也都开始支持嵌入bootstrap,比如jqueryUI中许多控件就可以很好的与bootstrap结合以实现更好的展示方式。

      通过这段描述,希望大家能对bootstrap是什么,它能用来干什么有一个大体的认识。下面的文章我会结合自己项目中实际的使用情况来和大家作进一步的探讨和沟通。无论如何,请大家记住,bootstrap再好它也只是一个框架而已,回到上文的例子,它始终只是一个口袋,真正的让它发挥最大效用的还是那些丰富的html组件,但也希望大家不要太过于拘泥bootstrap本身,Thornton曾经就在他的twitter上抱怨过,为什么一夜之间出现了这么多的 bootstrap-like 应用。跟随主流是对的,但千篇一律的特色就是没有特色。所以还是希望大家发挥自己的才智,在bootstrap上创造出更多有魅力的应用。

     

分享到:
评论

相关推荐

    嵌入式设计及linux驱动开发指南——基于ARM9处理器.pdf

    3.5.3 编译bootstrap_gcc 3.5.4 编译Glibc 3.5.5 编译完整的gcc 3.5.6 编译GDB 3.5.7 成果 3.5.8 其他交叉编译方法 3.6 通过二进制软件包创建交叉编译环境 3.7 开发套件 第4章 调试嵌入式系统程序 4.1 ...

    jQuerydemos学习资料

    《jQuerydemos学习指南——从基础到进阶的探索之旅》 jQuery,一款广泛应用于Web开发的JavaScript库,因其简洁的语法和强大的功能而深受开发者喜爱。本学习资料集“jQuerydemos”,精心分为三个阶段,旨在帮助你从...

    ASP.NET期末作业课程设计—流浪书店系统源码+文档.zip

    【ASP.NET期末作业课程设计—流浪书店系统源码+文档.zip】这个压缩包文件包含了一个基于ASP.NET技术的期末作业项目——流浪书店系统。这个系统不仅提供了源代码,还附带了相关的文档,使得学生或者开发者能够更好地...

    Fisrt_jQuery

    标题"First_jQuery"暗示我们将踏上学习这个优秀库的旅程,而描述的简洁同样预示着jQuery的核心理念——化繁为简。 一、jQuery简介 jQuery是由John Resig于2006年创建的一个JavaScript库,它的出现使得JavaScript的...

    2023年7月抖音美妆品牌社媒营销电商分析报告-里季、VC美妆、娇润泉

    本文详细分析了2023年7月抖音平台上美妆品牌「里季、VC美妆、娇润泉」的社媒营销和电商业绩。通过对销售额、直播销售、视频销售、热门商品、粉丝画像等方面的深入剖析,揭示了各品牌在抖音平台的成功之道。里季凭借创始人紫橙董事长的直播带货取得显著成绩,VC美妆则依靠素颜霜爆款和品牌自播,娇润泉通过洁面乳和精华液的推广,借助尾部达人视频切片和头部达人直播实现销售增长。

    subscription-manager-rhsm-certificates-1.28.21-3.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统subscription-manager-rhsm-certificates-1.28.21-3.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf subscription-manager-rhsm-certificates-1.28.21-3.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    力士乐驱动调试软件13v16中文版:伺服驱动与液压同步调试的技术详解及应用

    内容概要:本文详细介绍了力士乐驱动调试软件13v16中文版的特点及其在伺服驱动和液压同步调试中的应用。软件具有中文界面,便于理解和操作,涵盖参数设置、监控、诊断和调试四大模块。参数设置模块支持通过输入数值或拖动滑块调整电机速度和加速度;监控模块提供实时数据监测和图表展示;诊断模块帮助排查和解决问题;调试模块适用于高级调试如PID参数调整。此外,文中还分享了多个实用技巧,如批量修改参数、故障代码速查、动态链接库调用等。 适合人群:从事工业自动化、机电一体化领域的工程师和技术人员,尤其是对伺服驱动和液压控制系统有一定经验的人群。 使用场景及目标:①用于伺服驱动系统的调试,确保电机参数正确配置和稳定运行;②用于液压同步控制项目的调试,提高同步精度;③通过丰富的案例和技巧分享,帮助用户高效解决常见问题,提升工作效率。 其他说明:本文不仅介绍了软件的基本功能,还深入探讨了实际调试过程中的一些经验和技巧,为用户提供全面的指导和支持。

    计算机绘图-讲稿.pdf

    计算机绘图-讲稿.pdf

    计算机二级access历年真题及讲解.pdf

    计算机二级access历年真题及讲解.pdf

    计算机复习小结.pdf

    计算机复习小结.pdf

    stubby-0.4.2-2.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统stubby-0.4.2-2.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf stubby-0.4.2-2.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    计算机二级C语言历年真题.pdf

    计算机二级C语言历年真题.pdf

    MATLAB中ELMAN神经网络对红酒数据集分类的应用与实现

    内容概要:本文详细介绍了一种利用ELMAN神经网络对红酒数据集进行分类的方法及其MATLAB实现。首先介绍了红酒数据集的特点以及数据预处理步骤,包括数据读取、特征提取、归一化等。接着阐述了ELMAN神经网络的基本概念及其在处理时间序列和模式识别方面的优势。随后展示了如何在MATLAB中创建、配置和训练ELMAN神经网络,包括设置网络结构、选择合适的训练参数等。最后通过评估模型性能,计算分类准确率,并绘制混淆矩阵来展示实验结果。此外还提供了代码优化建议,如调整网络参数、改进数据处理方法等。 适合人群:对机器学习尤其是神经网络感兴趣的初学者,以及有一定MATLAB编程基础的研究人员。 使用场景及目标:适用于想要了解ELMAN神经网络的工作原理及其应用的人群;希望通过具体案例掌握如何使用MATLAB实现神经网络建模和训练的技术人员。 其他说明:文中提供的代码可以直接运行,用户可根据自身需求修改数据源、调整网络参数等,从而应用于不同的分类任务。同时,对于非时序数据也可以考虑采用其他类型的神经网络以提高效率。

    数据结构C/C++实现代码

    数据结构C/C++实现代码,供参考学习,练习,用于面试考试

    Halcon与C#联合开发的工业视觉框架:图像处理、异常处理及内存管理实战解析

    内容概要:本文详细介绍了Halcon与C#联合开发的一个稳定版本的工业视觉框架。首先强调了环境配置的重要性,确保Halcon的runtime版本与开发环境一致,避免常见的dll版本不匹配问题。接着阐述了图像处理流水线的设计,利用Task+async/await提高效率并避免界面卡顿。文中展示了如何通过状态机实现流程引擎,使配置文件定义处理步骤更加灵活。此外,文章深入探讨了内存管理和异常处理的最佳实践,如使用using语句确保HRegion对象正确释放,以及将Halcon的错误码转化为易读信息。最后,作者分享了一些实用技巧,如通过WCF实现算法和服务化通信,以及提供了一个PCB板检测的Demo项目作为实例。 适合人群:具有一定编程基础,尤其是熟悉C#和Halcon的开发人员,以及从事工业视觉项目的工程师。 使用场景及目标:适用于希望深入了解Halcon与C#联合开发的工业视觉框架的技术人员。主要目标是帮助读者掌握图像处理流程、内存管理、异常处理等方面的知识,从而能够构建高效稳定的工业视觉系统。 其他说明:文中提供了大量代码片段和实践经验,有助于读者更好地理解和应用相关技术。同时,提醒读者在实际开发过程中需要注意的一些常见问题及其解决方案。

    计算机二级笔试(选择)真题及答案.pdf

    计算机二级笔试(选择)真题及答案.pdf

    在学习Wpf的过程中,手搓了一个2048

    源码

    机械模型设计中技术交底书的创新应用与参数化设计实现

    内容概要:本文探讨了在机械模型设计中如何利用技术交底书进行创新。文章首先解释了技术交底书的概念及其重要性,接着通过具体的代码示例展示了如何在机械臂设计中引入动态调整算法以提高性能和效率。此外,文章介绍了如何使用Python和YAML等工具将机械模型的参数化设计与技术交底书相结合,实现了自动化更新和版本控制。最后,文章强调了在设计过程中发现并解决具体问题的重要性,如渐开线参数修形、轨迹预测算法优化以及模块化参数系统的应用。 适合人群:机械工程师、软件开发者、项目经理和技术文档撰写人员。 使用场景及目标:适用于机械模型设计项目的各个阶段,旨在提升设计效率、减少错误率、优化性能,并使技术交底书成为动态且易维护的文档。 其他说明:文中提到的技术手段不仅限于特定行业,可以广泛应用于各种涉及复杂机械系统的工程项目中。同时,文章鼓励跨学科合作,如机械工程与编程的结合,以实现更高效的解决方案。

    Cadence两级放大电路版图设计与LVS/DRC验证的技术解析

    内容概要:本文详细记录了作者在Cadence平台中完成一个两级放大电路版图设计的过程,涵盖了从初步设计到最终通过LVS(Layout vs Schematic)和DRC(Design Rule Check)验证的所有步骤。文章首先介绍了电路的基本结构和参数设定,如共源放大器和共栅放大器的关键参数调整,以及在Virtuoso环境中进行的具体操作。接着,作者分享了在版图绘制过程中遇到的各种挑战及其解决方案,包括晶体管尺寸优化、走线布局、寄生参数控制、金属层间距调整等。此外,还特别强调了LVS和DRC验证中的常见问题及应对策略,如端口不匹配、器件参数偏差、金属密度规则等。最后,作者总结了一些实用的设计技巧和注意事项,为后续类似项目提供了宝贵的经验。 适合人群:从事集成电路设计的专业人士,尤其是对模拟电路版图设计感兴趣的工程师和技术爱好者。 使用场景及目标:帮助读者掌握Cadence环境下两级放大电路版图设计的方法,提高LVS和DRC验证的成功率,减少设计周期内的返工次数,提升设计效率。 其他说明:文中提到的具体数值和代码片段仅供参考,在实际应用中需要根据具体的工艺规则和个人需求进行适当调整。

Global site tag (gtag.js) - Google Analytics