Bootstrap 点滴实践

本文介绍如何使用Bootstrap框架创建响应式网页设计,包括调整图片、按钮和表单元素,利用网格系统进行布局,以及使用jQuery增强交互性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Make Images Mobile Responsive

如果图片的尺寸刚好等于我们手机的尺寸,那想必是极好的。 谢天谢地,通过Bootstrap,我们要做的只是给图片添加 img-responsive class属性。这样图片的宽度就能完美地适配你的页面的宽度了。

既然我们在使用Bootstrap,我们可以通过居中头部元素来使它看起来更棒。 我们所要做的只是把text-centerclass属性添加给 h2 元素。 记住:你可以用空格分开多个class来为同一个元素添加多个 class 属性, 就像这样:

<h2 class="red-text text-center">your text</h2>

Bootstrap有它自己的 button 按钮风格, 看起来要比默认的按钮好看得多。 在三只猫咪图片下面创建一个新的 button 元素。给它添加 btn class 属性以及"Like"文本。

通常情况下,你的 button 元素仅与它所包含的文本一样宽。通过使其成为块级元素,你的按钮将会伸展并填满页面整个水平空间,任何在它之下的元素都会跟着浮动至该区块的下一行。 这张图阐述了行内元素与块级元素的区别:

注意,这些按钮仍然需要 btn class。 添加Bootstrap的 btn-block class 到你的按钮。

深蓝色btn-primary是你的应用的主要颜色,被用在那些用户主要采取的操作上。 添加Bootstrap的 btn-primary class 属性到按钮标签上。 注意:这个按钮仍然需要 btn 和 btn-block 属性!

Bootstrap自带了一些预定义的按钮颜色。浅蓝色 btn-info 被用在那些用户可能会采取的操作上。 在你的 "Like" 按钮下面添加一个文本为 "Info" 的块级Bootstrap按钮,并为其添加 btn-info 和 btn-blockclass属性。 注意:这些按钮仍然需要 btn 和 btn-block class属性

Bootstrap自带了一些预定义的按钮颜色。红色btn-danger被用来提醒用户该操作具有“破坏性”,例如删除一张猫的图片。 创建一个文本为 "Delete" 的按钮,并且给它添加 class btn-danger。 注意:这些标签仍然需要 btn 与 btn-block class。

Use the Bootstrap Grid to Put Elements Side By Side

Bootstrap 使用一种响应式网格布局——可轻松实现将多个元素放入一行并指定各个元素的相对宽度的需求。Bootstrap 中大多数的class属性都可以设置于 div 元素中。 下面这张图表显示了 Bootstraps 的12列网格布局是如何起作用的:

请注意,在这张图表中,class属性 col-md-* 正被使用。在这里,md 表示 medium (中等的),* 代表一个数字,它指定了这个元素所占的列宽。通过此图表的属性设置可知,在中等大小的屏幕上(例如笔记本电脑),元素的列宽被指定了。 在我们创建的 Cat Photo App 中,将会使用 col-xs-* ,其中 xs 是 extra small 缩写(应用于较小的屏幕,比如手机屏幕),* 是你需要填写的数字,代表在一行中,各个元素应该占的列宽。 把 Like, Info 和 Delete 三个按钮一并放入一个 <div class="row"> 元素中;然后,其中的每一个按钮都需要各自被一个 <div class="col-xs-4"> 元素包裹。 当div 元素设置了 class 属性 row 之后,那几个按钮便可嵌入其中。 Ditch Custom CSS for Bootstrap

Add Font Awesome Icons to our Buttons Font Awesome 是一个非常方便的图标库。这些图标都是矢量图形,被保存在 .svg 的文件格式中。这些图标就和字体一样,你可以通过像素单位指定它们的大小,它们将会继承其父HTML元素的字体大小。 你可以将 Font Awesome 图标库增添至任何一个应用中,方法很简单,只需要在你的 HTML 头部增加下列代码即可:

<link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.2.0/css/font-awesome.min.css"/>

i 元素起初一般是让其它元素有斜体(italic)的功能,不过现在一般用来指代图标。你可以将 Font Awesome 中的 class 属性添加到 i 元素中,把它变成一个图标,比如: <i class="fa fa-info-circle"></i> 你可以通过 Font Awesome 库增加一个 thumbs-up图标到你的 like 按钮中,方法是在i 元素中增加 class 属性 fa 和 fa-thumbs-up。

你还可以将 Bootstrap 的 col-xs-*用在 form 元素中。这样的话,我们的单选按钮就可以均匀地在页面上展开,不需要知道屏幕的分辨率有多宽。 将页面中的两个单选按钮放置于一个 <div class="row">元素中。然后,添加 <div class="col-xs-6"> 元素并分别包裹每一个单选按钮。 Create a Bootstrap Headline 我们将会搭建一个 jQuery playground,它也即将在我们接下来的 jQuery 课程中被投入使用。 首先,创建一个 h3 元素,并且包含文本内容 jQuery Playground 。 在 h3 元素中设置 Bootstrap 的 class 属性 text-primary 为其上色,同时增加 Bootstrap 的 class 属性 text-center 使文本居中显示。

House our page within a Bootstrap Container Fluid Div 现在让我们确保页面里所有的内容都是响应式的。 让我们将 h3 元素放置于一个class属性为 container-fluid 的 div 元素中。

Create a Bootstrap Row 现在将要为我们的内联元素创建一个 Bootstrap 行。 在 h3 标签下创建一个 div 元素,并且带有 class 属性 row 。 Split your Bootstrap Row 既然我们已经有了一个 Bootstrap 行,让我们来把它分成两栏来放置我们的元素吧。 在你的行内添加两个 div 元素,每个都具有 col-xs-6class 属性。 Target HTML Elements with Selectors Using jQuery 现在让我们开始写第一个jQuery语句,所有jQuery方法都是由$开始的,通常称作为 美元符号,或者简称为bling。 jQuery通过选择器来选择一个元素的,然后操作元素做些改变。 举个例子,要让所有的按钮做弹回效果,只要把这段代码写在document ready function里面就可以了。 $("button").addClass("animated bounce"); 我们已经在后台为你引入了jQuery库和Animate.css库,这样你就可以在编辑器里直接可以使用这两个库,进而通过jQuery给button元素添加bounce回弹动画效果。

首先,我们来使用$(".well")来获取所有class为well的div元素。 仔细想想为什么需要在well前面添加. 然后使用jQuery的.addClass()方法添加2个class:animated、shake。 例如,你可以将下面的代码写在document ready function里: $(".text-primary").addClass("animated shake");

我们可以通过jQuery来改变HTML元素的CSS样式。 jQuery有一个叫做.css()的方法能让你改变元素的CSS样式。 我们是这样来把颜色改变成蓝色的: $("#target1").css("color", "blue"); 这跟通常的CSS语法有点不同,这里CSS的属性和值是在引号内的,并且用逗号分开。 把你的document ready function清空, 来尝试把target1改变成红色。

Disable an Element Using jQuery 当你把按钮设置成不可选以后,这会让按钮变灰并且不能点击。 jQuery有一个.prop()的方法让你来调整元素的属性. 我们是这样来让按钮不可选的: $("button").prop("disabled", true); $("button").prop("disabled", true);

Change Text Inside an Element Using jQuery jQuery不仅可以改变元素开始标记和结束标记间的文本,甚至可以改变元素标记本身。 jQuery的.html()方法可以添加HTML标签和文字到元素,而元素之前的内容都会被方法的内容所替换掉。 我们是通过em[emphasize]标签来重写和强调标题文本的: $("h3").html("<em>jQuery Playground</em>"); jQuery 还有一个类似的方法叫.text(),它只能改变文本但不能修改标记。换句话说,这个方法只会把传进来的任何东西(包括标记)当成文本来显示。

Remove an Element Using jQuery 现在让我们用jQuery来移除页面上的HTML元素吧. jQuery 有一个.remove() 的方法可以移除HTML元素 试着使用.remove()方法来移除页面上的target4元素吧. $("#target4").remove();

Use appendTo to Move Elements with jQuery

现在让我们尝试把元素从一个div里移到另外一个div里。 jQuery有一个appendTo()方法可以把选中的元素加到其他元素中。 比如,你想让target4从我们的从right-well移到left-well,我们可以这样使用: $("#target4").appendTo("#left-well");

Clone an Element Using jQuery

除了移动元素,你还可以拷贝元素。简单理解:移动元素就是剪切,拷贝元素就是复制。 jQuery的clone()方法可以拷贝元素。 比如,如果我想把target2从left-well拷贝到right-well,我们可以这样写: $("#target2").clone().appendTo("#right-well"); 你有没有发现两个jQuery方法合在一起使用了?这就叫方法链function chaining,使用起来很方便。 复制target5元素追加到left-well。 提示:当你点击run tests后left-well会有两个#target5,千万别以为这是bug。实际上是因为编辑器中的代码会自动执行一次,点击run后会再执行一次,所以有两个#target5。

Target the Parent of an Element Using jQuery

每个HTML元素根据继承属性都有父parent元素。 举个例子,h3 元素的父元素是 <div class="container-fluid">,<div class="container-fluid">的父元素是 body。 jQuery有一个方法叫parent(),它允许你访问指定元素的父元素。 举个例子:让left-well 元素的父元素parent()的背景色变成蓝色。 $("#left-well").parent().css("background-color", "blue")

Target the Children of an Element Using jQuery

每个人都继承了自己的父母的一些属性,譬如:DNA、相貌、血型、体型等等,HTML也不例外。 许多HTML元素都有children(子元素),每个子元素都从父元素那里继承了一些属性。 举个例子,每个HTML元素都是 body 的子元素, 你的 "jQuery Playground" h3 元素是 <div class="container-fluid"> 的子元素。 jQuery有一个方法叫children(),它允许你访问指定元素的子元素。 举个例子:让left-well 元素的子元素children()的文本颜色变成蓝色。 $("#left-well").children().css("color", "blue")

Target a Specific Child of an Element Using jQuery

你已经看到了当用jQuery选择器通过id属性来选取元素的时候是多么方便,但是你不能总是写这么整齐的id。 幸运的是,jQuery有一些另外的技巧可以达到同样的效果。 jQuery 用CSS选择器来选取元素,target:nth-child(n) CSS选择器允许你按照索引顺序(从1开始)选择目标元素的所有子元素。 示例:你可以给目标元素的第三个子元素添加bounce class。 $(".target:nth-child(3)").addClass("animated bounce");

Target Even Numbered Elements Using jQuery

示例:获取class为target且索引为奇数的所有元素,并给他们添加class。 $(".target:odd").addClass("animated shake"); 记住,jQuery里的索引是从0开始的,也就是说::odd 选择第2、4、6个元素,因为target#2(索引为1),target#4(索引为3),target6(索引为5。

Use jQuery to Modify the Entire Page

我们让整个body都有淡出效果(fadeOut): $("body").addClass("animated fadeOut");

转载于:https://my.oschina.net/u/3520255/blog/3020223

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值