首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有SMACSS的自适应模块

带有SMACSS的自适应模块
EN

Stack Overflow用户
提问于 2013-07-25 06:44:00
回答 1查看 258关注 0票数 1

我在几个项目中使用SMACSS,但通常面临一个问题--构建自适应内容模块的正确方法是什么。

例如,我有布局网格类(.container、.row、..span 1、..span N)+用于自适应设计的媒体查询。

我想对内容模块使用相同的规则来管理自适应行为,例如将链接列表划分为列:

代码语言:javascript
复制
<ul class="list">
  <li class="list-el"> item 1</li>
  <li class="list-el"> item 1</li>
  <li class="list-el"> item 1</li>
  <li class="list-el"> item 1</li>
</ul>

我可以管理它,向模块元素添加布局类,如下所示:

代码语言:javascript
复制
<ul class="list row">
    <li class="list-el span-3"> item 1</li>
    <li class="list-el span-3"> item 1</li>
    <li class="list-el span-3"> item 1</li>
    <li class="list-el span-3"> item 1</li>
</ul>

但是这种方法使得布局和模块之间的紧密耦合,打破了SMACSS的主要规则,即模块应该独立于布局。

另一种方法是构建特殊模块(.adapt),并将内容模块放入其中,如下所示:

代码语言:javascript
复制
<div class="adapt">
    <div class="adapt-span3">
        <ul class="list">
            <li class="list-el"> item 1</li>
            <li class="list-el"> item 1</li>
            <li class="list-el"> item 1</li>
            <li class="list-el"> item 1</li>
        </ul>
    </div>
    <div class="adapt-span3">
      <ul class="list"> ... </ul>
    </div>
    <div class="adapt-span3">
         <ul class="list"> ... </ul>
    </div>
    <div class="adapt-span3">
         <ul class="list"> ... </ul>
    </div>
</div>

这种方式不会破坏规则,但是HTML标记看起来是重载的。

那么问题--,在SMACSS中构建自适应内容模块的方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-21 11:07:20

经过一些讨论和案例研究之后,我发现这种情况的正确方法是使用一些中介块,比如列表及其项目的宽度百分比。因此,它可以帮助从模块中分离布局,使中介块可以在不同的布局网格中使用,并对中介块和布局管理不同的自适应行为规则。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17850848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档