html - 不规则的 Bootstrap 列换行

标签 html css ruby-on-rails ruby twitter-bootstrap

使用最新版本的 haml、haml-rails、sass 和 bootstrap-sass 运行 Rails 4.1.4。对于用户显示,我的 HAML 是这样的:

.tutors-listing
    .row
      - @users.each do |tutor|
        .col-xs-12.col-md-3
          .row.tutor
            .col-xs-offset-1.col-xs-4.col-md-12
              = image_tag tutor.photo, :class => 'img-responsive img-circle tutor-photo'
              %h4.tutor-name
                = tutor.first_name

             %p
                teaches
             %strong.tutor-skills
               = tutor.teachables

但是,此标记会导致以下故障: Irregular column wrapping More irregular column wrapping

我希望有人能找出这里出了什么问题。在中间断点处,应均匀分布4列。

最佳答案

这是2行文字以上的技能造成的。这是使用 float 属性时的一个众所周知的错误。这是一张小图来理解:

enter image description here

[Bootply] The issue

选项#1:强制高度

您的第一个选择是强制元素具有相同的高度:

.tutor {
    height: 500px;
}
  • [Pro] 简单易行
  • [缺点] 使用魔数(Magic Number)
  • [缺点] 限制技能的行数
  • [缺点] 模版上的无用空格

[Bootply] Force height

选项 #2:使用 clearfix

您的第二个选择是使用 clearfix,并强制第 5 个元素在新行上(第 9 个、第 13 个相同...):

.tutors-listing > .row > .col-md-3:nth-child(4n+1) {
    clear: both;
}
  • [Pro] 不限制技能行数
  • [Pro] 没有无用的空格
  • [Pro] 没有魔数(Magic Number)
  • [Con] 每个尺寸一个 CSS 规则 (xs/sm/md/lg)
  • [Con] 规则取决于您的网格 (.col-xx-3)

[Bootply] Clearfix

关于html - 不规则的 Bootstrap 列换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25598728/

相关文章:

html - 当代码不在网站上时,为什么我的导航搜索栏会缩短?

ruby-on-rails - 高效的ActiveRecord has_and_belongs_to_many查询

ruby-on-rails - 使用 user_id :integer vs user:references 在 Rails 中生成模型

ruby-on-rails - 启动 Sidekiq 未定义的类/模块 UserMailer 时出错

html - 取决于浏览器/屏幕大小的交互式 CSS 框

javascript - jquery .toggleClass on click 使用多个 ID

javascript - 获取具有特定类名后跟数字的所有类

javascript - 使用 JQuery 将事件监听器添加到动态添加的元素?

android - 为什么使用输入标签在 chrome android 中显示我的页面时会得到不同的字体大小

css - 右浮动 div float 在页面中间,直到页面渲染完成