【问题标题】:overide zurb foundation float right property for last element覆盖最后一个元素的 zurb 基础浮动右属性
【发布时间】:2016-01-26 16:13:59
【问题描述】:

我正在使用 Zurb 基础,我正在尝试创建一个 CSS 属性,该属性将被调用并覆盖他们提供最后一列的属性 float:right。我知道他们提供了end 类以使您能够在左侧浮动div,但我有一个案例,我确实必须确保我的css 属性是最后要调用的。

代码:

<div class="row">
  <div class="my-class small-6 columns">floated on the right by foundation</div>
</div>

.my-class{
  float:left;
}

上面的代码不起作用,但是当我添加 important 属性时它起作用了,这也是我想避免的。

【问题讨论】:

    标签: css zurb-foundation zurb-foundation-5


    【解决方案1】:

    我在处理动态内容时发现了这个问题。在这种情况下,我不知道我最终会拥有多少项目,并且不想覆盖基础默认行为。在这种情况下,解决方案是 Foundation 的块网格: http://foundation.zurb.com/docs/components/block_grid.html

    作为一个例子,我最初尝试实现这一点的方式是将每个重复元素包装在一个 div 中,并使用它应该使用的列数,如下所示:

    <div class="row">
      <div class="columns small-3">content</div>
      <div class="columns small-3">content</div>
      <div class="columns small-3">content</div>
      <div class="columns small-3">content</div>
      <div class="columns small-3">content</div> <!-- Floated right.  -->
    </div>
    

    相反,更好的方法是使用 Foundation 的块网格类,它指定每行应该有多少项目,如下所示:

    <div class="row">
      <ul class="small-block-grid-4">
        <li>content</li>
        <li>content</li>
        <li>content</li>
        <li>content</li>
        <li>content</li> <!-- Right where I expected it! -->
      </ul>
    </div>
    

    希望这能帮助一些 Google 员工。 :-)

    【讨论】:

    • 没问题,新用户无法了解该网站的许多方面当然可以理解。现在您知道如何是一个好的答案。太棒了:-)
    • 请注意:这似乎仅适用于 &lt;ul&gt;&lt;li&gt; 元素。不适用于嵌套的 &lt;div&gt;s。
    【解决方案2】:

    在 HTML/CSS 中,您需要确保您的自定义类比您要覆盖的类更具体,并且您的 CSS 是在 Zurb 的 CSS 之后加载的。

    Zurb 有以下类;

    [class*="column"] + [class*="column"]:last-child {
      float: right; }
    

    这意味着attribute class contains "column" and is last in parent。为了能够覆盖它,请尝试将其添加到在 Zurb 之后加载的 CSS 文件的末尾,并将 div 更改为 &lt;div class="small-6 columns my-class"&gt;

    [class*="my-class"]:last-child {
        float: left;
    }
    

    【讨论】:

    • 非常感谢,但您能否提供一些解释?我不明白您添加的那条规则?
    • 基本上,在 CSS 中覆盖某些规则必须比上一条更具体(因此 h1.yellow 将覆盖 h1,因为它只适用于更具体的情况)。如果没有“更具体”的情况,则最后加载的内容都很重要。
    • class*= 是什么?
    • 就像我提到的,[class*=""] 匹配 attribute class contains "column" and is last in parent。在 CSS 中,[attribute="value"] 可用于匹配除idclass 以外的属性的元素,将= 替换为*= 使其成为contains 而不是equals。更多 here w3.org。
    猜你喜欢
    • 2015-01-12
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多