设置核心页面元素的高度? [英] Setting the height of core-pages elements?

查看:68
本文介绍了设置核心页面元素的高度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很难在我的自定义元素中将core-pages元素的高度设置为非零.使核心页面高度与其所选内容相同的最佳实践是什么.这是一个简单的例子,很明显地打破了:

I'm having a lot of trouble getting a core-pages element to have a non-zero height within my custom element. What is the best practice for having the core-pages height be the same as its selected content. Here's a trivial example which clearly breaks:

<!DOCTYPE html>
<html>
  <head>
    <meta charset=utf-8 />
    <title>Polymer</title>
  </head>
  <body>
    <script src="http://www.polymer-project.org/platform.js"></script>
    <link rel="import" href="http://www.polymer-project.org/components/polymer/polymer.html">
        <link rel="import" href="http://www.polymer-project.org/components/core-pages/core-pages.html">


    <polymer-element name="x-foo">
      <template>
        <core-pages id="pages" selected="{{selected}}">
          <content></content>
        </core-pages>
      </template>
      <script>
        Polymer('x-foo', {
          ready: function() {
            this.selected = 0;
          }
        });
      </script>
    </polymer-element>

    <polymer-element name="x-bar">
      <template>
          <div><content></content></div>
      </template>
      <script>
        Polymer('x-bar', {});
      </script>
    </polymer-element>


    <p>BEFORE</p>
    <x-foo>
      <x-bar>some text here</x-bar>
      <x-bar>some other text here</x-bar>
    </x-foo>
    <p>AFTER</p>
  </body>
</html>

和jsbin一起查看结果: http://jsbin.com/xowoxakuwu/1/edit (请注意核心页面内容如何与下一个元素重叠)

And the jsbin to see the results: http://jsbin.com/xowoxakuwu/1/edit (notice how the core pages content overlaps with the next element)

此示例显示了自定义元素中的core-pages元素.注入核心页面的内容也是自定义元素.

This example shows a core-pages element within a custom element. The content that gets injected into the core-pages are also custom elements.

这里的最佳做法是什么?

Whats the best practice here?

推荐答案

您可以将样式应用于x-foo元素中当前选择的页面,该元素设置display:block和position:relative,因此x-bar将继承高度它的内容.

You can apply a style to the currently selected page in the x-foo element which sets display: block and position: relative so x-bar will inherit the height of it's content.

我还向x-foo元素添加了"block"属性,因此它也继承了所选页面的高度.其他常规属性在这里-> https://www.polymer-project.org/docs/polymer/layout-attrs.html#general-purpose-attributes

I've also added the "block" attribute to the x-foo element so it too inherits the height of the selected page. Other general attributes are here -> https://www.polymer-project.org/docs/polymer/layout-attrs.html#general-purpose-attributes

<script src="http://www.polymer-project.org/platform.js"></script>
<link rel="import" href="http://www.polymer-project.org/components/polymer/polymer.html">
<link rel="import" href="http://www.polymer-project.org/components/core-pages/core-pages.html">

<polymer-element name="x-foo" block>
  <template>

    <style>
      ::content > .core-selected {
        position: relative;
        display: block;
      }
    </style>

    <core-pages id="pages" selected="{{selected}}">
      <content></content>
    </core-pages>
  </template>
  <script>
    Polymer('x-foo', {
      ready: function() {
        this.selected = 0;
      }
    });
  </script>
</polymer-element>

<polymer-element name="x-bar">
  <template>
    <div>
      <content></content>
    </div>
  </template>
  <script>
    Polymer('x-bar', {});
  </script>
</polymer-element>

<p>BEFORE</p>
<x-foo>
  <x-bar>some text here</x-bar>
  <x-bar>some other text here</x-bar>
</x-foo>
<p>AFTER</p>

这篇关于设置核心页面元素的高度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆