Angular 角度清晰度:将clrPosition设置为右下角的预期行为是什么

Angular 角度清晰度:将clrPosition设置为右下角的预期行为是什么,angular,clarity,vmware-clarity,Angular,Clarity,Vmware Clarity,如果使用[clrPosition]=右下角生成样式,有什么想法吗 left: 0px; right: auto; 如下面HTML中给出的相应代码所示 清晰角度 <clr-dropdown-menu [clrPosition]="'bottom-right'"> . . . </clr-dropdown-menu> 这是因为我希望下拉列表在左侧(自动)有机地增长,并固定在包含块的右侧(0px)。(顺便说一句,我确实尝试了[clrPosition]=左下,但它没有改变左

如果使用
[clrPosition]=右下角
生成样式,有什么想法吗

left: 0px; 
right: auto;
如下面HTML中给出的相应代码所示

清晰角度

<clr-dropdown-menu [clrPosition]="'bottom-right'">
.
.
.
</clr-dropdown-menu>
这是因为我希望下拉列表在左侧(自动)有机地增长,并固定在包含块的右侧(0px)。(顺便说一句,我确实尝试了
[clrPosition]=左下
,但它没有改变

事实上,如果我仔细观察,一些清晰的CSS实际上试图通过手动设置
left=auto
right=0
为相同的
clr下拉菜单做正确的事情,如下图所示,但它被覆盖,因此最终由于这个问题,我的整个应用程序中都有一个水平滚动条。这是我在这里解决的主要问题

你能检查一下这是一个bug还是预期的行为吗?是否有更好的方法将左侧和右侧设置为预期值


我甚至无法覆盖left和right来更正值,因为Clarity CSS使用“style”属性来设置样式时获得了更高的特异性。有没有其他干净的方法可以让我不必更改Clarity的CSS代码?

@baltoro:您是否尝试过使用
clr下拉菜单上的
*clrIfOpen
指令?请参阅本Plnkr:


下拉开关
下拉标题

使用
*CLRIFOUN
plnkr应该避免水平滚动条,因为菜单在未打开时会从DOM中删除。

@baltoro:您是否尝试使用
clr下拉菜单上的
*CLRIFOUN
指令?请参阅本Plnkr:


下拉开关
下拉标题

使用
*CLRIFOUN
plnkr应该避免水平滚动条,因为菜单在未打开时会从DOM中删除。

Clarity使用
transform:translateX()和translateY()CSS规则定位下拉列表。你能展示一下你的问题吗?不确定我是否可以通过plunkr复制它。“变换”属性在单击下拉列表时显示。我的问题是即使没有人点击下拉菜单。您可以从我的html中看到可见性仍然是隐藏的。尽管如此,clr下拉菜单还是导致了这个问题。Clarity使用
transform:translateX()和translateY()
CSS规则来定位下拉菜单。你能展示一下你的问题吗?不确定我是否可以通过plunkr复制它。“变换”属性在单击下拉列表时显示。我的问题是即使没有人点击下拉菜单。您可以从我的html中看到可见性仍然是隐藏的。但是,clr下拉菜单导致了这个问题。
<clr-dropdown-menu _ngcontent-c1="" 
      ng-reflect-position="bottom-right" 
      class="dropdown-menu" 
      style="position: absolute; top: 0px; bottom: auto; left: 0px; right: auto; 
      visibility: hidden;>
    .
    .
    .
</clr-dropdown-menu>
left: auto; 
right: 0px; 
<clr-dropdown>
  <button clrDropdownTrigger class="btn">
    Dropdown Toggle
    <clr-icon shape="caret down"></clr-icon>
  </button>

    <clr-dropdown-menu *clrIfOpen clrPosition="bottom-right">
      <label class="dropdown-header">Dropdown header</label>
      <a href="javascript://" clrDropdownItem>Action 1</a>
      <a href="javascript://" clrDropdownItem>Action 2</a>
      <div class="dropdown-divider"></div>
      <a href="javascript://" clrDropdownItem>Link 1</a>
      <a href="javascript://" clrDropdownItem>Link 2</a>
    </clr-dropdown-menu>
</clr-dropdown>