css - 为什么 col-sm-12 添加了 col-sm 在 bootstrap 中没有的边距?

标签 css twitter-bootstrap-3

我注意到我的网站在桌面上看起来很好,但在我的手机上却有些问题。简而言之,我的网站是这样的

<div class="row">
    <div class="col-sm-12"> <!-- content A --> </div>
    <div class="col-sm-12"> <!-- content B --> </div>
    <div class="col-sm-12"> <!-- content C --> </div>
</div>
<div class="row>
    <!-- content D -->
</div>

我注意到:第二行左侧没有空白。
第一种方法:改变 content D<div class="col-sm">content D</div> .
什么都没有改变。
第二种方法修复了它:更改 content D<div class="col-sm-12">content D</div> .

值得注意的是 col-sm-4对 margin 有同样的影响。
现在我想知道不使用列之间有什么区别,"col-sm" , 和 "col-sm-12" .

col-sm(“元素”太靠左了):
bad

col-sm-12:
good

显然,“元素”标题的宽度以某种方式改变了,但我不明白如何改变。

最佳答案

使用 col-sm 时看不到 15px 填充的原因是 col-sm 没有为 Bootstrap 3 因此基本上 col-sm 对填充没有任何影响。 col-* 类是在 Bootstrap 4 中引入的。以下是 bootstrap 3 的摘录:

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, 
.col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, 
.col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, 
.col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, 
.col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, 
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

如您所见,col-sm 未定义。如果我们看一下 bootstrap 4

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, 
.col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, 
.col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2,
.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, 
.col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, 
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, 
.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9,
.col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

你可以在 col-sm-12 之后看到 col-sm

关于css - 为什么 col-sm-12 添加了 col-sm 在 bootstrap 中没有的边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51580594/

相关文章:

html - 将 SCSS 附加到 HTML 文档

php - 页面加载时的模态显示

html - 带有悬停的两列

css - 有没有办法让 Bootstrap 列更自然地流动?

html - 垂直对齐输入并从不同行中选择

jquery - CakePHP 和 Bootstrap 冲突? CakePHP 通过 Bootstrap 获取渲染

html - Firefox 和 IE 中的复选框样式问题

javascript - Zend 1.12 + Ajax - 提交表单

internet-explorer-8 - Respond.js在本地不起作用-支持IE8中的媒体查询

html - 如何在 Bootstrap 中将以下导航栏居中?