当前位置: 首页 > 面试题库 >

为什么Bootstrap 3切换为box-sizing:border-box?

平嘉熙
2023-03-14
问题内容

我正在将Bootstrap主题从v2.3.2迁移到v3.0.0,我注意到的一件事是,由于bootstrap.css中的以下样式,许多尺寸的计算方式有所不同。

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

谁能解释为什么Bootstrap将所有元素的框大小切换为border-box?我怀疑这与基于百分比的新网格系统有关,但是上面的选择器显然不仅适用于网格元素。

似乎有点激进的恕我直言:-)

有人愿意提供一些见识吗?


问题答案:

默认情况下使用更好的盒子模型。Bootstrap中的所有内容都可以进行大小调整:边框调整,可以简化大小调整选项并增强网格系统。

我个人认为,大多数好处都归功于网格系统。在Twitter的Bootstrap中,所有网格都是不固定的。列定义为总宽度的百分比。但是装订线的像素宽度是固定的。默认情况下,列两边的填充为15px。以像素为单位的宽度和百分比的组合可能很复杂。进行border-box此计算很容易,因为该border- box值(与内容框默认值相反)使最终渲染的框成为声明的宽度,并且在框内剪切了任何边框和填充。



 类似资料:
  • 我正试图获得一个可切换的边栏: 无边栏: 带侧边栏: (以下是一个行为示例:http://pythonhosted.org/cloud_sptheme--请参见侧栏上的按钮。使用其代码库并不容易,因为它不是基于引导的) 我从一个使用Bootstrap 2和jQuery 1.8的工作示例开始:jsfiddle,SO question,并试图使其在Bootstrap 3上工作。下面是一个代码(boot

  • 问题内容: 似乎Hibernate开始在3.5.5版(我们从3.2.7升级)中使用数据类型,而不是使用的属性。 这是造成问题,因为在Oracle数据类型是一个古老的过时的数据类型(参见http://www.orafaq.com/wiki/LONG不应被使用),以及表不能具有一个以上的列作为数据类型。 有谁知道为什么改变了? 我尝试将Oracle 属性设置为true(如[Hibernate>CLOB

  • 问题内容: 许多Java书籍都将该语句描述为比该语句快。但是我没有找到任何地方为什么切换比if更快。 例 我有一种情况,我必须选择两项中的任何一项。我可以使用 要么 考虑item和BREAD是一个恒定的int值。 在上面的示例中,哪个操作更快,为什么? 问题答案: 因为有很多情况下,有一些特殊的字节码可以有效地评估switch语句。 如果使用IF语句实现,则将进行检查,跳转到下一个子句,进行检查,

  • 问题内容: 我想知道为什么你不能做: 我发现这将需要运行时在片上执行循环以转换每个元素,这将是非惯用的Go。这很有道理。 然而,这可能不会被刚刚走样编译器解决的,所以在内部它们是相同的,他们使用相同类型的头底下?我猜答案虽然不是我好奇为什么。 问题答案: 这个: 是类型转换。根据规范,转换具有特定的规则: 在以下任何一种情况下,可以将非恒定值转换为类型: 是分配给。 的类型,并且具有相同的基础类型

  • 我目前正在使用UIAutomator2,但我不确定它在UIAutomator之上还提供了哪些其他功能。我将Appium与UIAutomator2一起使用,没有遇到任何挑战,但想利用UIAutomator2中引入的一些新功能(如果有的话)。

  • 通常,当我查看使用Android Studio构建的Android应用程序的输出时,我会看到以下内容。有时它正在将从更改为。其他时候,它正在将从更改为。为什么这么优柔寡断??