带你快速打造属于自己的Bootstrap站点

本篇文章给大家带来的内容是关于带你快速打造属于自己的Bootstrap站点,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

特别声明:此篇文章由白牙根据Leon Revill的英文文章原名《Twitter Bootstrap Tutorial – Up and running with Twitter Bootstrap in 20 Minutes》进行翻译,整个译文带有我们自己的理解与思想,如果译得不好或不对之处还请同行朋友指点。如需转载此译文,需注明英文出处:http://www.revillwebdesign.com/twitter-bootstrap-tutorial以及作者相关信息                                                                                                                                                              ——作者:Leon Revill                                                                                                                                                              ——译者:白牙

这篇教程旨在让你在20分钟内学会使用twitter bootstrap创建一个站点。看完这个教程后你应该能够使用bootstrap来建立一个基本的响应式布局的页面,了解栅格系统,并且能够使用bootstrap导航、导航条和了解响应式设计的基础。这些全部都是使用twitter bootstrap所需要具备的知识。(推荐教程:bootstrap视频教程)

首先我们需要说的是twitter bootstrap是非常优秀的一个前端开源框架,它为所有的组键都提供了详细的用例,让你能够轻易地通过复制黏贴而附加到你的设计中。

基本的HTML模板

我们需要以一个基本的HTML模板,这样我们能够把所需要的bootstrap文件包含进来。下面就是我们twitter bootstrap项目的开头,复制这些代码到一个文件中并将其命名为index.html。

      Twitter Bootstrap Tutorial - A responsive layout tutorial          body {        background-color: #CCC;      }          

这段代码中我们已经添加了一些CSS使页面的背景呈亮灰色,因为这样我们能够轻易地在我们的设计中看见不同的列,使它更加容易理解。

引入twitter bootstrap文件

为了使用twitter bootstrap我们仅仅需要把一个文件引入到我们的模板当中来,引入文件有很多种方法,如果你想了解这些方法请查阅相关文档。

基于本教程的出发点,我们将会通过CDN来引入bootstrap-combined.min.css文件而不需要下载任何的文件。


它能够使所有的twitter bootstrap CSS在我们的模板中生效。

Twitter Bootstrap的容器

bootstrap的container类是非常有用的,它能在页面中创建一个居中的区域,然后我们能够把其他位置的内容放到里面。container类等价于创建了一个具有静态宽度并且magin值为auto的一个居中的div框。twitter bootstrap的 container类的优点在于它是响应式的,它会以当前屏幕的宽度为基础计算出最佳的宽度予以实用。

在body标签中,使用container类创建一个div。它会作为页面主要的放置其他代码的外层包裹。

如果你调整这个DIV的高度并将其背景颜色设置为白色,你所看到的效果会是这样:

微信截图_20190125110126.png

标题和导航

现在我们已经有一个地方可以添加额外的HTML代码,我们可以添加标题文本然后再创建站点的主要导航条。

加入如下的文本或者你选择的文字到container类的div标签当中。

TWITTER BOOTSTRAP TUTORIAL

现在并没有多少新的东西,这仅仅是一个标题,让我们转移到更有趣的方面,twitter bootstrap导航。

Bootstrap 有一个nav类让我们能够创建各种各样的导航元素,你可以在h1标签之后加入如下的代码。

navbar相关的类拥有导航条所有的样式,添加navbar-inverse类将会应用一个很酷的黑色风格,这是一个twitter bootstrap的常见搭配。我建议在这个样式的基础上进行拓展从而创造你的独一无二的导航。但在这个教程中我们仍然会使用基础的bootstrap样式。

在类为navbar的DIV当中,我们添加另一个类为nav-collapse的DIV并为其添加行内样式height:auto;这是告诉bootstrap当这个页面在小于970px宽度的浏览器窗口当中时,它会提供一个压缩的切换视图。

如果你保存了index.html文件然后在浏览器中打开,当你调整浏览器窗口的宽度时你就能够看到这个变化,如图所示。

大于979px

微信截图_20190125110138.png

小于979px

微信截图_20190125110146.png

另外,我们可以添加nav类到一个HTML无序列表元素中以便从bootstrap CSS文件中应用更多的样式,也可以添加一个active类到“HOME”列表项中。

主内容和侧边栏

我们已经完成了站点的主导航,现在我们需要添加主要内容区和一个侧边栏来支持更多的链接或导航路径。请把下面的代码添加到导航条之后。

Main Content Section

这正是我们需要弄懂的bootstrap的栅格系统,当然,bootstrap的官方文档中涵盖了更多的细节,但我们将会以基础开始,让你更好地理解它。

栅格系统利用了12列的布局,这意味着一个页面可以被分割成12个相同的列。下面这张从bootstrap官方文档中拿到的图片给出了一个很好的展示。

微信截图_20190125110200.png

在我们刚刚黏贴在导航条下面的代码中你可以看到名为span9和span3的类。它们会把页面分割成左边9列宽度和右边3列宽度的两部分,形成我们的内容区域和侧边栏。使用栅格系统的其中一个好处就是它会根据视窗宽度动态计算出列的宽度,因此你不需要写任何的媒体查询也能使你的站点工作在任何的屏幕分辨率下。

你可以通过改变span的数量和调整浏览器的大小来观察它们的效果。你会注意到当内容区小于724px的时候,这些列会垂直地堆放。

现在我们在主内容区域把下列文本或者任何其他的文本放在在h2标签之后,这只是为了把页面拉长一点。

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.

Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.

现在站点会像如下显示:

微信截图_20190125110214.png

侧边栏导航

你可以在这里看到所有的Twitter bootstrap为我们提供的导航元素。

我们将要使用垂直选项卡来创建一个额外的导航区。复制和黏贴下面的代码到sidebar的h2标签之后。

这是一个简单的展示!上面的代码照字面理解仅仅是一个具有类为nav-tabs和nav-stacked的无序列表,但它却为我们创造了一个导航面板。

看看最后的效果,一个基于twitter bootstrap的响应式设计的页面完成了。

微信截图_20190125110228.png

结论

通过twitter bootstrap所提供的特性,我们给出了这个非常快速的bootstrap基础教程,但花点时间练习并多多查阅官方的文档,不久之后你就可以成为一个bootstrap的专家了。

在阅读本教程之后你应该懂得如何使用栅格系统,不同类型的导航和响应式设计的基本原理。

以上就是带你快速打造属于自己的Bootstrap站点的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1613988.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CSS3中box-shadow属性实现的阴影效果总结
上一篇 2025年12月24日 04:00:12
下一篇 2025年12月24日 04:00:24

相关推荐

  • Ubuntu安装Python3.6并切换到3.6版本「建议收藏」

    大家好,很高兴再次与你们见面,我是你们的好朋友全栈君。 文章目录 前言==补充==1 了解系统中已安装的Python版本2 安装Python 3.63 从Python 2.7切换到Python 3.64 中间遇到的问题4.1 问题一4.2 问题二总结参考文献 前言本文记录我在Ubuntu 16.04…

    2026年9月21日
    000
  • 构建Spring自定义Kafka配置的注解式解决方案

    本文探讨了在Spring Boot应用中通过自定义注解实现Kafka配置自动化时遇到的挑战,特别是由于Bean注册时机不当导致的依赖注入失败。我们将深入分析问题根源,并提供两种核心解决方案:利用META-INF/spring.factories实现标准化的自动配置发现,以及通过ImportBeanD…

    2026年9月21日
    1100
  • 编译CEGUI「建议收藏」

    大家好,很高兴再次与你们见面,我是你们的老朋友全栈君。 平台: Windows 7 / 64位 / VS2005 CEGUI下载 地址:https://www.php.cn/link/9a2327a2fcc570914ce9c9e61581cbf8 源码选择: CEGUI 0.7.9 库源码下载 这…

    2026年9月21日
    100
  • 大数据量下的批量导入/导出优化

    在大数据环境下优化批量导入/导出的方法包括:1. 使用批处理技术分批导入/导出数据,减少系统资源压力;2. 采用数据流技术如apache kafka进行实时处理,降低内存占用;3. 利用并行处理技术分配任务到多个处理器或节点,提高处理速度;4. 通过性能监控和调优识别并解决瓶颈点,以提升整体效率。 …

    2026年9月21日
    300
  • Yii调试面板(Debug Toolbar)的高级用法

    yii框架的调试面板除了基本功能外,还能提供性能分析、数据库查询分析、邮件发送记录等高级用法。1.性能分析功能可识别代码瓶颈,优化应用速度。2.数据库查询分析工具显示sql查询及执行时间,优化数据库操作。3.邮件发送记录功能帮助排查邮件发送问题。合理使用这些功能能大幅提升应用性能和用户体验。 让我们…

    2026年9月20日
    000
  • 如何在Laravel中管理环境变量

    在laravel中管理环境变量的核心在于利用.env文件和config配置系统。具体来说,1. 使用.env文件存储环境变量,如数据库连接信息、api密钥等;2. 通过laravel的配置文件(如config/database.php)读取.env中的值,并使用config()函数获取配置;3. 在…

    2026年9月20日
    000
  • 如何在Laravel中使用宏指令

    宏指令在laravel中是一种运行时动态扩展类功能的机制。1. 它通过调用类的macro静态方法,传入名称和闭包来实现;2. 常用于给str、request、response、builder等核心类添加便捷方法;3. 与继承和特性不同,宏指令是非侵入性的运行时扩展,适合轻量级工具方法或链式调用场景;…

    2026年9月20日
    000
  • 如何在Laravel中配置路由缓存

    laravel路由缓存通过将路由定义编译为单个php文件来提升性能。1. 它减少了每次请求时解析多个路由文件的开销,适用于生产环境;2. 启用时需先清除旧缓存(php artisan route:clear),再生成新缓存(php artisan route:cache);3. 路由缓存后,修改路由…

    2026年9月13日
    000
  • 如何在Laravel中使用门面模式

    门面模式在laravel中通过静态代理简化了类的访问。其核心实现步骤包括:1. 创建服务提供者并绑定服务到容器;2. 创建继承facade基类并重写getfacadeaccessor方法的门面类;3. 在config/app.php中注册门面别名;4. 通过静态方式调用服务方法。为避免门面导致代码耦…

    2026年9月13日
    100
  • ThinkPHP的分页功能怎么做?ThinkPHP如何实现数据分页?

    ThinkPHP的分页功能怎么做?ThinkPHP如何实现数据分页?ThinkPHP的分页功能怎么做?ThinkPHP如何实现数据分页?ThinkPHP的分页功能怎么做?ThinkPHP如何实现数据分页?ThinkPHP的分页功能怎么做?ThinkPHP如何实现数据分页?

    thinkphp实现分页功能的核心是使用内置的paginate()方法。具体步骤如下:1. 在控制器中通过db门面或模型调用paginate()方法执行分页查询,可结合where、order等链式操作设置查询条件;2. 将分页结果传递到视图层,使用$list->render()渲染分页链接;3…

    2026年9月12日 • 用户投稿
    100
  • YII框架的主题是什么?YII框架如何切换主题?

    yii框架的主题是一种视图层面的分离策略,通过配置view组件的theme属性实现主题切换,需在config/web.php中设置basepath和baseurl;2. 主题目录结构包含views、layouts、assets或web文件夹,用于组织视图、布局和静态资源,形成独立的ui皮肤;3. 常…

    2026年9月12日
    100
  • YII框架的覆盖率测试是什么?YII框架如何检查测试覆盖率?

    代码覆盖率是衡量测试对代码触达程度的指标,在YII框架中通过PHPUnit结合Xdebug或PCOV生成报告,合理配置phpunit.xml可聚焦业务逻辑覆盖,但追求100%覆盖率不现实且易陷入测试误区,应关注核心逻辑的高质量覆盖而非绝对数值。 代码覆盖率测试,简单说,就是衡量你的自动化测试(主要是…

    2026年9月12日
    100
  • YII框架的多租户是什么?YII框架如何支持SaaS?

    答案:Yii框架通过共享数据库加租户ID隔离、独立数据库或Schema等策略实现多租户,结合自定义BaseActiveRecord、查询作用域、行为和事件系统确保数据隔离,利用子域名或路径路由识别租户,并通过RBAC、模块化设计和缓存优化支持SaaS应用的可扩展性与安全性。 YII框架的多租户,简单…

    2026年9月12日
    100
  • VSCode怎么做弹窗_VSCode开发Web弹窗与插件交互功能教程

    答案:VSCode插件通过Webview实现弹窗,需创建WebviewPanel并设置HTML内容,利用onDidReceiveMessage和postMessage实现双向通信,结合CSS框架与图标提升美观性,通过Configuration API或文件系统实现数据持久化,并使用开发者工具调试。 …

    2026年9月11日
    100
  • Laravel模型多态映射?多态映射如何配置?

    Laravel多态映射通过commentable_id和commentable_type字段实现一个模型属于多种父模型,如评论可同时关联文章和视频;在Comment模型中使用morphTo(),在Post和Video模型中使用morphMany(),并通过morphs()方法创建迁移字段;相比传统关…

    2026年9月10日
    100
  • Laravel路由是什么?路由如何定义使用?

    Laravel路由是应用的交通指挥中心,定义URL与代码的映射关系。它通过routes目录下的web.php和api.php文件,使用Route门面将HTTP动词与URL模式关联到控制器或闭包。路由支持参数、中间件、分组、资源路由等特性,贯穿请求生命周期,与中间件、服务容器协作完成请求处理。为管理复…

    2026年9月10日
    100
  • Laravel观察者模式?模型观察者如何使用?

    Laravel模型观察者用于解耦模型生命周期事件处理,通过创建观察者类、定义事件方法(如created、updating)并在AppServiceProvider中注册,实现对模型操作的响应。选择观察者适合处理与模型紧密相关的逻辑,而事件监听器更适合跨模块的解耦场景。saving在保存前执行,可修改…

    2026年9月10日
    100
  • Laravel事件广播?广播事件怎样配置?

    Laravel事件广播的核心优势在于实现服务器端事件的实时推送,提升用户体验。它通过WebSocket等技术将传统请求-响应模式转变为实时流式交互,确保客户端几乎即时接收更新,如聊天消息、订单状态等,避免轮询带来的延迟与资源浪费。该机制增强应用的响应性与互动性,降低服务器负载,同时通过频道授权(如私…

    2026年9月10日
    000
  • Laravel路由缓存?路由缓存如何生成?

    Laravel路由缓存通过将所有路由编译为单一PHP文件,显著提升生产环境性能。执行php artisan route:cache可生成缓存,使每次请求无需重复解析路由文件,大幅减少启动开销。开发环境中应禁用缓存以避免更新延迟,生产部署时则应在发布流程中自动清除旧缓存并生成新缓存,确保路由更新生效。…

    2026年9月10日
    100
  • Laravel门面是什么?门面如何调用方法?

    Laravel门面通过静态语法提供对服务容器中实例的便捷访问,其核心是利用__callStatic()魔术方法将静态调用转发给容器解析出的底层实例。每个门面继承自IlluminateSupportFacadesFacade,并实现getFacadeAccessor()返回服务绑定键名,从而实现服务的…

    2026年9月10日
    100

发表回复

登录后才能评论
关注微信