Bootstrap面试题
一、问答题
1、Bootstrap是哪家公司研发的?
Twitter
2、什么是Bootstrap?以及为什么要使用Bootstrap?
Bootstrap是一个用于快速开发Web应用程序和网站的前端框架。Bootstrap是
基于HTML、CSS、JAVASCRIPT的。
Bootstrap具有移动设备优先、浏览器支持良好、容易上手、响应式设计等优点,
所以Bootstrap被广泛应用。
3、使用Bootstrap时,要声明的文档类型是什么?以及为什么要这样声明?
使用Bootstrap时,需要使用HTML5文档类型(Doctype)。<!DOCTYPEhtml>
因为Bootstrap使用了一些HTML5元素和CSS属性,如果在Bootstrap创建
的网页开头不使用HTML5的文档类型(Doctype),可能会面临一些浏览器显
示不一致的问题,甚至可能面临一些特定情境下的不一致,以致于代码不能通过
W3C标准的验证。
4、如果需要制作响应式图像,需要在<img>标签上面增加什么?
class="img-responsive"
5、什么是Bootstrap网格系统(GridSystem)?
Bootstrap包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随
着设备或视口大小的增加而适当地扩展到12列。它包含了用于简单的布局选项
的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。
响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多
12列。
6、Bootstrap网格系统(GridSystem)的工作原理?
(1)行必须放置在.containerclass内,以便获得适当的对齐(alignment)和内
边距(padding)。
(2)使用行来创建列的水平组。
(3)内容应该放置在列内,且唯有列可以是行的直接子元素。
(4)预定义的网格类,比如.row和.col-xs-4,可用于快速创建网格布局。LESS混
合类可用于更多语义布局。
(5)列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过.rows上
的外边距(margin)取负,表示第一列和最后一列的行偏移。
(6)网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创
建三个相等的列,则使用三个.col-xs-4。
7、对于各类尺寸的设备,Bootstrap设置的class前缀分别是什么?
超小设备手机(<768px):.col-xs-
小型设备平板电脑(>=768px):.col-sm-
中型设备台式电脑(>=992px):.col-md-
大型设备台式电脑(>=1200px):.col-lg-
8、Bootstrap网格系统列与列之间的间隙宽度是多少?
间隙宽度为30px(一个列的每边分别是15px)。
9、如果需要在一个标题的旁边创建副标题,可以怎样操作?
在元素两旁添加<small>,或者添加.small的class。
10、如果想给段落添加强调文本,可以怎样操作?
添加class="lead"
11、用Bootstrap,如何设置文字的对齐方式?
class="text-center"设置居中文本
class="text-right"设置向右对齐文本
class="text-left"设置向左对齐文本
12、Bootstrap如何设置响应式表格?
增加class="table-responsive"
13、使用Bootstrap创建垂直表单的基本步骤?
(1)向父<form>元素添加role="form";
(2)把标签和控件放在一个带有class="form-group"的<div>中,这是获取最佳间
距所必需的;
(3)向所有的文本元素<input>、<textarea>、<select>添加class="form-control"。
14、使用Bootstrap创建水平表单的基本步骤?
(1)向父<form>元素添加class="form-horizontal";
(2)把标签和控件放在一个带有class="form-group"的<div>中;
(3)向标签添加class="control-label"。
15、使用Bootstrap如何创建表单控件的帮助文本?
增加class="help-block"的span标签或p标签。
16、使用Bootstrap激活或禁用按钮要如何操作?
激活按钮:给按钮增加.active的class
禁用按钮:给按钮增加disabled="disabled"的属性
17、Bootstrap有哪些关于<img>的class?
(1).img-rounded为图片添加圆角
(2).img-circle将图片变为圆形
(3).img-thumbnail缩略图功能
(4).img-responsive图片响应式(将很好地扩展到父元素)
18、Bootstrap中有关元素浮动及清除浮动的class?
(1)class="pull-left"元素浮动到左边
(2)class="pull-right"元素浮动到右边
(3)class="clearfix"清除浮动
19、除了屏幕阅读器外,其他设备上隐藏元素的class?
class="sr-only"
20、Bootstrap如何制作下拉菜单?
(1)将下拉菜单包裹在class="dropdown"的<div>中;
(2)在触发下拉菜单的按钮中添加:class="btndropdown-toggle"
id="dropdownMenu1"data-toggle="dropdown"
(3)在包裹下拉菜单的ul中添加:class="dropdown-menu"role="menu"
aria-labelledby="dropdownMenu1"
(4)在下拉菜单的列表项中添加:role="presentation"。其中,下拉菜单的标题
要添加class="dropdown-header",选项部分要添加tabindex="-1"。
21、Bootstrap如何制作按钮组?以及水平按钮组和垂直按钮组的优先级?
(1)用class="btn-group"的<div>去包裹按钮组;class="btn-group-vertical"可设置
垂直按钮组。
(2)btn-group的优先级高于btn-group-vertical的优先级。
22、Bootstrap如何设置按钮的下拉菜单?
在一个.btn-group中放置按钮和下拉菜单即可。
23、Bootstrap中的输入框组如何制作?
(1)把前缀或者后缀元素放在一个带有class="input-group"中的<div>中;
(2)在该<div>内,在class="input-group-addon"的<span>里面放置额外的内容;
(3)把<span>放在<input>元素的前面或后面。
24、Bootstrap中的导航都有哪些?
(1)导航元素:有class="navnav-tabs"的标签页导航,还有class="navnav-pills"
的胶囊式标签页导航;
(2)导航栏:class="navbarnavbar-default"role="navigation";
(3)面包屑导航:class="breadcrumb"
25、Bootstrap中设置分页的class?
默认的分页:class="pagination"
默认的翻页:class="pager"
26、Bootstrap中显示标签的class?
class="label"
27、Bootstrap中如何制作徽章?
<spanclass="badge">26</span>
28、Bootstrap中超大屏幕的作用是什么?
设置class="jumbotron"可以制作超大屏幕,该组件可以增加标题的大小并增加更
多的外边距。
二、选择题
1、如果让一个元素在pc端显示而在手机端隐藏,下列选项正确的是(b)。
A、visible-xs-8hidden-md
B、visible-md-8hidden-xs
C、visible-md-8hidden-sm
D、visible-sm-8hidden-md
详解:
a、超小屏幕(<768px)显示,中屏(>=992px)隐藏,所以错误
b、中屏(>=992px)显示,超小屏幕(<768px)隐藏,所以正确
c、中屏(>=992px)显示,小屏幕(>=768px)隐藏,所以错误
d、小屏幕(>=768px)显示,中屏(>=992px)隐藏,所以错误
2、在bootstrap中,下列的类(c)可以使一个元素在打印使隐藏。
A、visible-print-block
B、visible-print-inline
C、hidden-print
D、print-hidden
详解:
a、浏览器:隐藏。打印机:可见。
b、浏览器:隐藏。打印机:可见。
c、浏览器:可见。打印机:隐藏。
d、Bootstrap的打印类里面没有这个类。
3、在bootstrap中,栅格系统的标准用法(c)是错误的。
A、<divclass="container"><divclass="row"></div></div>
B、<divclass="row"><divclass="col-md-1"></div></div>
C、<divclass="row"><divclass="container"></div></div>
D、<divclass="col-md-1"><divclass="row"></div></div>
详解:
a、.row的行必须包含在.container的容器中,所以正确。
b、在.row的行中可以添加.column的列,所以正确
c、.row的行必须包含在.container的容器中,所以错误。
d、在.column的列中可以嵌套.row的行,所以正确。
4、下列(d)不是正确的辅助类。
A、.text-muted。
B、.text-danger。
C、.tex-success。
D、.text-title。
详解:正确的辅助类有:
a、text-muted/text-primary/text-success/text-info/text-warning/text-danger
b、text-muted/text-primary/text-success/text-info/text-warning/text-danger
c、text-muted/text-primary/text-success/text-info/text-warning/text-danger
d、text-muted/text-primary/text-success/text-info/text-warning/text-danger
5、在bootstrap中,关于弹性布局的属性错误的是(d)。
A、flex
B、flex-direction
C、justify-content
D、flex-container
详解:
a、flex:伸缩性
b、flex-direction:伸缩流动性
c、justify-content:主轴对齐
d、flex-wrap:伸缩换行,不是flex-container,没有这个方法
6、在bootstrap中,关于flex-direction属性值错误的是(a)。
A、col
B、row
C、row-reverse
D、column-reverse
详解:
a、应该是:column(元素从上到下排列)。所以错误。
b、row:默认值,元素从左到右排列。正确。
c、row-reverse:元素从右到左排列。正确。
d、column-reverse:元素从下到上排列。正确。
7、在bootstrap中,关于flex-wrap属性值错误的是(b)。
A、nowrap
B、colwrap
C、wrap
D、wrap-reverse
详解:
a、nowrap:默认值,伸缩容器单行显示,伸缩项目不会换行。所以正
确
b、没有这个属性值,所以错误。
c、wrap:伸缩容器多行显示,伸缩项目会换行。所以显示正确。
d、wrap-reverse:伸缩容器多行显示,伸缩项目会换行,且颠倒行顺序。
正确。
8、在bootstrap中,关于justify-content属性值错误的是(c)。
A、flex-start
B、flex-end
C、middle
D、space-between
详解:
a、flex-start:向一行的起始位置靠齐,所以正确。
b、flex-end:向一行的结束位置靠齐,所以正确。
c、应该是center:向一行的中间位置靠齐,所以错误。
d、space-between:平均分布在行内,第一个伸缩项目在一行的最开始。
最后一个伸缩项目在一行的最终点,所以正确。
9、在bootstrap中,关于align-items属性值错误的是(d)。
A、flex-start
B、flex-end
C、center
D、underline
详解:
a、flex-start:在侧轴起点的外边距紧靠该行在侧轴起始边,所以正确。
b、flex-end:在侧轴终点边的外边距紧靠该行在侧轴终点边,所以正确。
c、center:外边距盒在该行的侧轴上居中放置,所以正确。
d、应该是baseline:根据第一行文字的基线对齐,所以错误。
10、在bootstrap中,(b)不是媒体查询类型的值。
A、all
B、speed
C、handheld
D、print
详解:
a、所有设备,所以正确。
b、不是媒体查询类型的值,所以错误。
c、便携设备,所以正确。
d、打印用纸或打印预览视图,所以正确。
11、在bootstrap中,()不是媒体特性的属性。
A、device-width
B、width
C、background
D、orientation
详解:
a、device-width:设置屏幕的输出宽度,所以正确。
b、width:渲染界面的宽度,所以正确。
c、应该是color:设置每种色彩的字节数,所以错误。
d、orientation:设置是是横屏或者竖屏,所以正确。
12、在bootstrap中,(c)是错误的媒体查询的写法。
A、@mediaalland(min-width:1024px){};
B、@mediaalland(min-width:640px)and(max-width:1023px){};
C、@mediaalland(min-width:320px)or(max-width:639px){};
D、@mediascreenand(min-width:320px)and(max-width:639px){};
详解:
a、屏幕分辨率大于1024px,所以正确。
b、屏幕介于640px和1023px之间,所以正确。
c、Bootstrap的媒体查询中没有or关键词,所以错误。
d、屏幕介于320px和639px之间,所以正确。
13、在bootstrap中,(b)不属于栅格系统的实现原理。
A、自定义容器的大小。平均分为12份
B、基于JavaScript开发的组件
C、结合媒体查询
D、调整内外边距
详解:
a)可以自定义,分了12份。俗称12栅格系统,所以正确。
b)基于jQuery开发的组件,所以错误。
c)是实现流式布局的关键所在,所以正确。
d)Margin-left/margin-right:15px;所以正确。
14、在bootstrap中,关于响应式栅格系统(a)的描述是错误的。
A、.col-sx-:超小屏幕(<768px)。
B、.col-sm-:小屏幕、平板(>=768px)。
C、.col-md-:中等屏幕(>=992px)。
D、.col-lg-:大屏幕(>=1200px)。
详解:
a)col-xs-:超小屏幕,所以错误。
b)small,所以正确。
c)middle,所以正确。
d)large,所以正确。
15、在bootstrap中,以下的(b)不是文本对其的方式。
A、.text-left
B、.text-middle
C、.text-right
D、text-justify
详解:
a)左对齐用text-left,所以正确
b)居中用text-center,所以错误
c)右对齐用text-right,所以正确
d)两端对齐用text-justify,所以正确
16、在bootstrap中,下列(c)不属于验证提示状态的类。
A、.has-warning
B、.has-error
C、.has-danger
D、.has-success
详情:
a).has-warning:警告(黄色)。所以正确。
b).has-error:错误(红色)。所以正确。
c)验证提示状态没有这个类。所以错误。
d).has-success:成功(绿色)。所以正确。
17、在bootstrap中,(d)不属于媒体查询的关键词。
A、and
B、not
C、only
D、or
详解:
a)and:同时满足这两者时生效,到达限定范围,所以正确。
b)not:排除某种指定的媒体类型,即排除符合表达式的设备,所以正
确。
c)only:指定某种特定的媒体类型,可以用来排除不支持媒体查询的浏
览器,所以正确。
d)or:不是媒体查询的关键字,所以正确。
18、在bootstrap中,下列(b)不属于按钮尺寸。
A、.btn-lg
B、.btn-md
C、.btn-sm
D、.btn-xs
详情:
a).btn-lg:大按钮,所以正确
b).btn-default:默认尺寸,所以错误
c).btn-sm:小按钮,所以正确
d).btn-xs:超小按钮,所以正确
19、在bootstrap中,下列(b)类不属于button的预定义样式。
A、.btn-success
B、.btn-warp
C、.btn-info
D、.btn-link
详情:
a).btn-success:成功信息,所以正确。
b)Bootstrap中的button预定义样式没有这个类,所以错误。
c).btn-info:一般信息,所以正确。
d).btn-link:链接信息,所以正确。
20、在bootstrap中,下列()不属于图片处理的类。
A、.img-rounded
B、.img-circle
C、.img-thumbnail
D、.img-radius
详情:
a).img-rounded,border-radius:6px;正确
b).img-circle,border-radius:50%;正确
c).img-thumbnail,border-radius:4px,border:1pxsolid#ddd;正确
d)Bootstrap中的图片没有这个类。错误