html - Bootstrap 的不同 float 行为

标签 html css

当我偶然发现一个奇怪的行为时,我正要回答某人的问题,目前我无法解释。所以我在下面的代码片段中有 HTML 和 CSS 代码。如果您在全屏模式下查看它,左下方的蓝色 div 位于红色下方。我也在 jsfiddle 上测试了这段代码,它按预期工作。蓝色的 div 与红色的对齐。

现在,我知道,会发生这种情况,因为在 Stackoverflow,自定义 CSS 在 Bootstrap 之前得到应用,而在 jsfiddle 上则相反。因此样式会被彼此覆盖,具体取决于它运行的平台。 我也知道,这不是创建两列布局的常用方法。如前所述,我在尝试回答 this 时发现了这种行为。问题。在这种情况下,提出问题的人无法更改 HTML 结构,所以我们不得不处理这个问题。

我不知道的是,为什么会有差异,因为它们都用 float: left; 覆盖 float: left; > 我认为 css 从哪里来并不重要,行为应该是一样的。

所以这是 fiddle 的链接:https://jsfiddle.net/we9jcd8c/

这是堆栈片段

.blue {
   border: 10px solid #fff;
   background: blue;
   height: 150px;
   float: left;
}

.red {
   border: 10px solid #fff;
   background: red;
   height: 300px;
   float: right;
}

@media screen and (max-width: 768px) {
   .red, .blue {
      float: none;
   }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="outer">
  <div class="col-lg-6 col-sm-12 col-md-6 blue">
  </div>
  <div class="col-lg-6 col-sm-12 col-md-6 blue">
  </div>
  <div class="col-lg-6 col-sm-12 col-md-6 blue">
  </div>
  <div class="col-lg-6 col-sm-12 col-md-6 red">
  </div>
  <div class="col-lg-6 col-sm-12 col-md-6 blue">
  </div>
</div>

为了说明区别,我加了一张图:

enter image description here

最佳答案

如您所说,样式的顺序是相同的。 但即使在蓝色 block 中,通过 float: left; 覆盖 float: left;,红色 block 也有两种不同的行为:float: left; bootstrap 和 float: right; 根据 .red css 类。

所以在 fiddle 片段中,红色 block 漂浮在右侧,允许 bleu block 排成一行,并且在堆栈溢出时,bleu 试图在红色 block 之后向左漂浮,但由于第 12 列已经被占用而无法.

关于html - Bootstrap 的不同 float 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45238922/

相关文章:

html - 如何使用链接开始 Skype 聊天而不是通话

html - 如何在 HTML 标题中组合组件

javascript - Bootstrap Timepicker 不显示在 RTL 中

html - 样式 :Display and Visibility errors?

html - 将 Bootstrap 容器背景扩展到页面边缘

html - CSS 中 'initial' 值的用途是什么?

javascript - 在不重置插入符号(光标)位置的情况下修改内容可编辑的 div 中的文本

javascript - 如何检查元素是否在 iframe 中

html - 弹出框中的视频

javascript - 防止输入因虚拟键盘点击而失去焦点