Bootstrap起步介绍

风流意气都作罢 提交于 2019-12-15 20:28:37

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

起步

简要介绍Bootstrap,以及如何下载、使用,还有基本模板案例等等.

下载

下载bootstrap有三种形式.

用于生产环境的Bootstrap

编译并压缩后的Css、Javascript和字体文件.不包含文档和源文件.

Bootstrap基于Less的源码

Less、Javascript和字体的源文件,并且带有文档,需要Less编译后方可用于生产环境.

Bootstrap基于Sass的源码

Sass、Javascript和字体的源文件,并且带有文档,需要Sass编译后方可用于生产环境.

安装

通过Bower进行安装

bower install bootstrap

通过npm进行安装

npm install bootstrap

文件目录

预编译版

  • bootstrap/

    • glyphicons-halflings-regular.eot

    • glyphicons-halflings-regular.svg

    • glyphicons-halflings-regular.ttf

    • glyphicons-halflings-regular.woff

    • glyphicons-halflings-regular.woff2

    • bootstrap.js

    • bootstrap.min.js

    • bootstrap.css

    • bootstrap.css.map

    • bootstrap.min.css

    • bootstrap-theme.css

    • bootstrap-theme.css.map

    • bootstrap-theme.min.css

    • css/

    • js/

    • fonts/

    Less源码

    • bootstrap/

      • examples/

      • css/

      • js/

      • fonts/

      • less/

      • js/

      • fonts/

      • dist/

      • docs/

      Less源码的编译

      在程序员需要对Bootstrap进行定制时我们会用到Less源码的编译,Bootstrap使用Grunt作为编译系统.对grunt还不了解的可以到http://gruntjs.com/先了解一下.这里编译需要用到的命令如下:

      grunt dist

      重新生成/dist/目录,并将编译压缩后的CssJavascript放入这个目录中.作为一名Bootstrap用户,大部分情况你只需要执行这个命令.

      grunt watch

      监测Less源码文件的改变,并自动重新将其编译为Css文件.

      grunt test

      PhantomJS环境中运行JSHintQUnit自动化测试用例.

      grunt docs

      编译并测试CSSJavascript和其他资源文件.在本地环境下通过jekyll serve运行Bootstrap文档时需要用到这些资源文件.

      grunt

      编译并压缩CSSJavascript文件、构建文档站点、对文档做html5校验、重新生成定制工具所需的资源文件等.都需要jekyll工具.这些只有你对Bootstrap深度研究时才有用.

      基本模板

      <!DOCTYPE html><html lang="zh-CN"><head>
          <meta charset="UTF-8"/>
          <meta http-equiv='X-UA-Compatible' content="IE=edge"/>
          <meta name='viewport' content='width=device-width,initial-scale=1'/>
          <title>Bootstrap Template</title>
          <link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.css"/></head><body>
          <h1>hello world!</h1>
          <script src='../bower_components/jquery/dist/jquery.js'></script></body></html>

      禁止响应式布局

      Bootstrap会自动帮你针对不同的屏幕尺寸调整你的页面.使其在个个尺寸的屏幕上表现良好.下面我们列出了如何禁用这一特性.

      1. 移除设置浏览器视口的标签:<meta>

      2. 通过为.container类设置一个width值从而覆盖框架的默认width设置,例如width:970px !important;.请确保这些设置全部放在默认的Bootstrap Css文件的后面.

      3. 如果使用了导航条,需要移除所有导航条的折叠和展开行为.

      4. 对于栅格系统布局,额外增加.col-xs-*类或替换掉.col-md-*.col-lg-*.针对超小屏幕设备的栅格系统能够在所有分辨率的环境下展开.

      浏览器和设备的支持情况

      被支持的浏览器

      在Windows平台下,我们支持ie8+.

      Bootstrap在Chromium和Linux版Chrome、Linux版Firefox和IE7上的表现也很不错,虽然我们不对其进行官方支持.

      IE8和IE9是被支持的,然而,你要知道很多CSS3属性和HTML5元素(例如,圆角,矩形和投影)是不被支持的.另外,IE8需要Respond.js配合才能实现对媒体查询的支持

      IE8与Respond.js

      • Respond.js与Css文件不在同一域下时需要额外的设置.请参考respond.js文档获取更多信息.

      • Respond.js在file://协议下无效

      • Respond.js对通过@import 引入的css无效.

      IE8与box-sizing

      box-sizing:border-box;min-width max-width min-height max-height一起使用时,IE8不能完全支持box-sizing属性.由于此原因,从BootstrapV3.0.1版本开始,我们不再为.container赋予max-width属性.

      IE8与@font-face

      @font-face:before在IE8下共同使用时会出现问题.由于BootStrap对Glyphicons的样式设置使用了这一组合方式,如果某个页面被浏览器缓存了,并且此页面不是通过点击刷新按钮或通过iframe加载的,那么就会导致字体文件尚未加载的情况下就开始绘制此页面.当鼠标滑过页面时,页面上的某些图标就会显现,鼠标滑过其他没有显现的图标时,这些图标就能显示出来了.

      IE兼容模式

      Bootstrap不支持IE古老的兼容模式.为让IE有更好的渲染,建议将下面标签添加到页面中:

      <meta http-equiv='X-UA-Compatible' content='IE=edge'/>

      360极速模式

      将下面代码添加到页面中:

      <meta name='renderer' content="webkit"/>

      模态框、导航条和虚拟键盘.

      超出范围和滚动

      body元素在iosandroid上对overflow:hidden的支持很有限,导致的结果就是在这两种设备上的浏览器,当你滚动屏幕超过模态框的顶部或底部时,body中的内容开始随着滚动.

      虚拟键盘

      如果你正在使用fixed定位的导航条或在模态框上面使用输入框,还会遇到IOS在页面绘制上的bug.当触发虚拟键盘后,其不会更新fixed定位的元素,这里有几种解决方案.包括将fixed定位转换为position:absolute定位.或者启动一个定时器手工修正组件的位置.

      导航条上的下拉菜单

      IOS设备上,用于导航组件的复杂的z-indexing属性,.dropdown-backdrop元素并未被使用.因此,为了关闭导航条上的下拉菜单,必须直接点击下拉菜单上的元素(或者任何其他能够触发IOS上click事件的元素).

      移动设备上应用 :hover/:focus

      尽管在大多数触屏上没有真正的悬停状态,大多数移动设备浏览器模拟了悬停(hover)状态并让:hover状态多展现一会儿.换句话说,轻触元素后开始应用:hover样式,并且在用户轻触其他的元素之后停止应用:hover样式.在这些浏览器中,Bootstrap的hover状态可能不是你所期望的.某些移动浏览器中的:focus状态也存在同样的问题.对于这些问题,除了完全清除这些样式,目前还没有简单的解决方法.


      易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
      该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!