0

我想使用 iron-list 显示具有顶部和底部边距的项目网格,但没有结果。我正在使用聚合物 2.0 和 iron-list 2.0.16。当我突出显示 Iron-list 中的任何项目时,边距不显示,但出现在 devtools 中。我不知道我做错了什么。我尝试修复它但没有成功。...

  :host {
    display: block;
    padding: 10px;
  }

  .country {
    height: 50px;
    width: 300px;
    background-color: white;
    margin: 16px 0;

  }

  iron-list {
    height: 100vh;
  }
</style>
<data-story-data region="africa" countries="{{countries}}"></data-story data>
<iron-list items="[[countries]]" as="country" scroll-target="document" grid>
  <template>
    <div class="country">
      <p>[[country.name]]</p>

    </div>
    <!--
    <paper-card>
      <div class="card-content">
        <div>[[country.name]]</div>
      </div>
      <div class="card-actions">
        <a href="[[rootPath]]detail/country/[[country.name]]/[[country.alpha2Code]]/about" tabindex="-1">
          <paper-button raised>view</paper-button>
        </a>
      </div>
    </paper-card>
  -->
  </template>
</iron-list>

...

这就是我得到的 顶部和底部没有边距 16px 的渲染项目

我该怎么做才能使 16px 的顶部和底部边距起作用。提前致谢。

4

1 回答 1

1

列表项显示 0px 边距,因为iron-list会覆盖它们:

铁列表.html

<style>

    /* ... */

    #items > ::slotted(*) {
        box-sizing: border-box;
        margin: 0; /* Here */
        position: absolute;
        top: 0;
        will-change: transform;
    }

    /* ... */

</style>

尝试将您的卡片包装在一个容器中,并使用它的填充而不是边距来获得您想要的间距:

<style>
  .country {
      padding: 16px 0;
  }
</style>

<iron-list items="[[countries]]" as="country" scroll-target="document" grid>
  <template>
    <div class="country">
        <paper-card>
          <div class="card-content">
            <div>[[country.name]]</div>
          </div>
          <div class="card-actions">
            <a href="[[rootPath]]detail/country/[[country.name]]/[[country.alpha2Code]]/about" tabindex="-1">
              <paper-button raised>view</paper-button>
            </a>
          </div>
        </paper-card>
    </div>
  </template>
</iron-list>
于 2018-06-01T12:02:51.350 回答