聚合物铁列表

时间:2018-06-01 06:17:01

标签: polymer iron-list

我想使用铁列表显示具有顶部和底部边距的项目网格,但没有结果。我使用聚合物2.0和铁列表2.0.16。 当我突出显示铁列表中的任何项目时,边距不会显示但会显示在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>

...

这就是我得到的 rendered items without margin 16px at top and bottom

我该怎么做才能使16px的上下边距有效。提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

<强>铁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>