1. Bootstrap作者设计它目的是什么,或者说它想解决什么问题。
以下是Bootstrap官网对Bootstrap的解释。
1.1 Bootstrap2
简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。
1.2 Bootstrap3
Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。
1.3 Bootstrap4
Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。
2x与3x的区别,3x开始默认移动端优先,也就是默认把这个网页当作是移动端的,这样的好处是,不过你是不是移动端我都只需要一开始写上view就可以了。
从最初的目的来看Bootstrap主要是让使用者可以快速的开发出一个网站来,并且同时还具备响应式的功能,从这两点出发的话,使用Bootstrap来开发网站肯定会比较囊肿一些,因为它的主要目的是快速,自然就会集成很多的组件,但你也许并不需要,虽然我们可以手动将自己需要的代码copy过来,但相对来说还是麻烦了些,总的来说它比较适合那些想要快速开始,并且不需要特别精确的项目。
2. 在使用bootstrap的js模块时必须引入jquery,那么为什么它不直接集成在内部,而是让我们自己去引入?
如果直接集成在bootstrap中,如果你项目使用的是其他版本的jquery,那么可能就会起冲突,所有干脆让使用者自己引入。
3. 为什么偏移要根据列偏移
因为作者也不知道你要偏移多少啊。
4. 为什么boostrap可以应用不同尺寸的样式。
因为那些col是设置在媒体查询里面的。
5. class写两个还是一个好?如:
<button class="btn btn-error"></buttn>
还是
<button class="btn-error"></buttn>
起两个的话比较直观,但是比较麻烦,如果用一个可以使用属性选择器,判断里面是否包含btn,通过这个给予基本样式,但也有个问题是如果想在js中获取这个元素就比较麻烦一些,细细想来如果要深挖,只写一个还是存在着一些问题,最终考虑还是写两个比较好。
6. 为什么禁用样式不直接给disabled设置而是给其他颜色class设置
这样可能是为了单一职责,因为disabled只是为了禁用的,而且如果我们直接给disabled设置,我们也不确定什么颜色和现在的样式匹配。
7. bootstrap为什么要给container设置左右padding然后又给row设置父margin来抵消container的padding。
也许是作者默认想留一点空隙,但如果里面有col的话,col一般会给内填充,那样的话第一个和最后一个的间距就会比其他的大,因此这样设计还是比较合理的。