聚合物 1.0:如何阻止 <paper-menu-item>s 包装他们的文本?


代码示例http://jsbin.com/vudulonaka/1/edit?html

输出

单击JSBin上的菜单按钮。注意文本的换行方式。我想:

  • 消除文本换行和
  • 使菜单项的宽度与里面文字的宽度相匹配。
  • 这可能需要强制菜单从右向左展开,因为按钮在工具栏中是右对齐的。

我该怎么做呢?请提供工作的JSBin代码示例

<!DOCTYPE html>
<html>  
<head>
  <meta charset="utf-8">
  <title>Polymer Bin</title>
  <base href="http://element-party.xyz">
  <link rel="import" href="all-elements.html">
</head>
<body>
<x-element></x-element>
<dom-module id="x-element">
  <template>
    <style>
    </style>
        <paper-header-panel class="flex">
            <paper-toolbar>
                <span class="flex"></span>
                <paper-menu-button>
                    <paper-icon-button icon="menu" class="dropdown-trigger"></paper-icon-button>
                    <paper-menu class="dropdown-content">
                        <paper-item>This is a long label for the paper menu and button to show</paper-item>
                        <paper-item>This is another long label for the paper menu and button</paper-item>
                        <paper-item>This is still yet another long label for the paper menu</paper-item>
                    </paper-menu>
                </paper-menu-button>
            </paper-toolbar>
            <div class="fit">Content goes here...</div>
        </paper-header-panel>       
  </template>
  <script>
    (function(){
      Polymer({
        is: 'x-element'
      });
    })();
  </script>
</dom-module>
</body>
</html>

这不是完全完美的,但它应该给你一个想法的类型的css属性,你应该改变和如何做到:http://jsbin.com/xaladokimu/1/edit?html,output

改变的是样式:

<style>
  paper-menu-button{
    --paper-menu-button-dropdown:{
      max-width: 100%;
      right:70vw;
    };
  }
  paper-item{
    --paper-item:{
      white-space: nowrap;
      width: 100%;
    };
  }
</style>

基本上,您必须将white-space: nowrap添加到项目中,以便它们的文本显示在单行中,然后使用项目的宽度和下拉菜单的水平位置和宽度(尝试将下拉菜单的位置更改为固定或其他东西也可以帮助)

然后,你应该在元素的外部设置一些自定义样式的css属性(除非你想让你的元素只在一个设定的位置上工作)

最新更新