6

我正在寻找关于如何使用 Thoughtbot 的 Neat 网格框架在不同断点处重新排序/移动列位置的最佳解决方案?

我想从这个(以桌面分辨率)转移我的标题中的元素: 在此处输入图像描述

对此(移动分辨率):

在此处输入图像描述

我的 HTML 如下所示:

<header>
    <section id='header_elements'>
      <p id="chocolat_logo"><strong><a href="#"><img alt="Chocolat Restaurant Logo" itemprop="logo" src="/assets/main_logo.png" /></a></strong></p>
      <nav>
        <ul>
          <li id='home_link'>
            Home
          </li>
          <li id='menus_link'>
            <a href="/menus/evening" itemprop="menu">Menus</a>
          </li>
          <li id='drinks_link'>
            <a href="/menus/wine-list" itemprop="menu">Drinks</a>
          </li>
          <li id='contact_link'>
            <a href="#">Contact Us</a>
          </li>
        </ul>
      </nav>
      <ul id='top_contact_details'>
        <li class='social_link' id='twitter_link'>
          <a href='twitter'>
           Twitter
          </a>
        </li>
        <li class='social_link' id='facebook_link'>
          <a href='facebook'>
            Facebook
          </a>
        </li>
        <li id='top_phone''>
          <span>
            (061)
          </span>
          412 888
        </li>
      </ul>
    </section>
  </header>

并且 SCSS 看起来像这样(为了清楚起见,我删除了与实际布局无关的任何内容,如果相关,我将该标题的完整 SCSS 代码放在这个 gist上):

header{
  @include outer-container;

  #header_elements{
    width: 100%;
    height: 100%;

    // LOGO
    #chocolat_logo{
      float: left;
      @include span-columns(3);
      @include media($mobile) {
        float: left;
        @include span-columns(6);
      }
    }

    // Main Navigation
    nav{ 
      @include media(min-width 480px){
        @include span-columns(6);
      } 
      @include media($mobile) {
        @include fill-parent();
      }

    }

    //Contact Details
    #top_contact_details{
      @include span-columns(3);
      @include media($mobile) {
        @include span-columns(6);
      }
    }
  }
}

我基本上想知道在 Bourbon/Neat中模仿 Zurb基金会的推/拉重新排序功能的最佳/最优雅的方式是什么。

非常感谢您的任何建议/帮助!

4

3 回答 3

6

内容优先顺序

如果您想在特定视图中切换元素的显示顺序而不改变 HTML 中内容的顺序,Neat 支持方便直观的负行定位。您可以像这样轻松地在其父元素内移动每一列:

section {
  @include outer-container;
  aside {
    @include span-columns(3);
    @include shift(-12);
  }
  article {
    @include span-columns(9);
    @include shift(3);
  }
}

现在文章元素将在左侧,而旁边将在右侧。您可以像以前一样添加移动样式,以保持响应式显示的一致性:

$mobile: new-breakpoint(max-width 500px 4);

section {
  @include outer-container;
  aside {
    @include span-columns(3);
    @include shift(-12);
    @include media($mobile) {
      @include span-columns(4);
    }
  }
  article {
    @include span-columns(9);
    @include shift(3);
    @include media($mobile) {
      @include span-columns(4);
    }
  }
}

在此处查看全文:http ://www.sitepoint.com/sass-bourbon-neat-lightweight-semantic-grids/

于 2015-03-10T03:27:21.457 回答
0

如果您发现很难检查班次位置,您可以随时检查元素并调整边距百分比以获得理想的结果。

于 2015-04-05T02:10:50.993 回答
0

drjorgepolanco 的示例不起作用我没有找到在 Neat 中移动 cols 的有效解决方案。在 Bootstrap 框架中,您可以通过 .pull-* 和 .push-* 类轻松完成。

我对 Neat 的解决方案是

section {
  @include outer-container;
  position:relative
aside {
  @include span-columns(3);
  @include shift(9);
}
article {
  @include span-columns(9);
  position:absolute;
  }

我明白这是一个黑客,但它对我有用}

于 2016-04-05T18:43:50.040 回答