Div 有叠加层 css class 正在同一个地方创建
Div having Overlay css class is getting created at the sameplace
我想在另一个 div 中创建一个叠加层 div[叠加层 div 是在 for 循环中动态生成的]。但是当我在覆盖层 class 中写入 position:absolute 时,内部 div 会在同一位置创建。
我的要求是在图表中间显示多个“TOTAL USERS (NUMBER)”。
所以我写了一个overlay css class。在覆盖层 class 内,我给出了 position:absolute
。结果,所有 div 都在同一位置彼此重叠创建。
见上图,“TOTAL USER”部分在同一位置被覆盖。
叠加 class 是:
.overlay{
position:absolute;
top:22px;
left:0px;
bottom:0px;
right:0px;
z-index: 2;
}
HTML 视频代码:
<div *ngFor="let chart of chartData[0].values" class="child">
<div class="chart-goal-name">{{goalName}}</div>
<div class="overlay">TOTAL USERS {{userCount}} </div>
<div class="chart-holder">
<nvd3 [options]="donutChartOptions"
[data]="chart"
class="top-1">
</nvd3>
</div>
</div>
这里你使用的是绝对位置。所以当你写 left 属性 或 top 属性 时,它是从屏幕左侧和屏幕顶部计算的。因此,所有动态创建的 div 都将呈现在同一位置。
所以基本上你需要给每个不同的左值。为此,您可以在用于交互的对象中添加左侧位置的值。
您还可以在用于生成 chartData[0].values
的对象中添加顶部位置
然后使用对象的top和left的值设置在html中,如下所示。
<div *ngFor="let chart of chartData[0].values" class="child">
<div class="chart-goal-name">{{goalName}}</div>
<div class="overlay" [ngStyle]="{'left':chart.left, 'top': chart.top}">TOTAL USERS {{userCount}} </div>
<div class="chart-holder">
<nvd3 [options]="donutChartOptions"
[data]="chart"
class="top-1">
</nvd3>
</div>
</div>
当你使用 position:absolute;
parent 时需要 position
relative
.
在下面添加 css.
.child{position:relative;}
我想在另一个 div 中创建一个叠加层 div[叠加层 div 是在 for 循环中动态生成的]。但是当我在覆盖层 class 中写入 position:absolute 时,内部 div 会在同一位置创建。
我的要求是在图表中间显示多个“TOTAL USERS (NUMBER)”。
所以我写了一个overlay css class。在覆盖层 class 内,我给出了 position:absolute
。结果,所有 div 都在同一位置彼此重叠创建。
见上图,“TOTAL USER”部分在同一位置被覆盖。
叠加 class 是:
.overlay{
position:absolute;
top:22px;
left:0px;
bottom:0px;
right:0px;
z-index: 2;
}
HTML 视频代码:
<div *ngFor="let chart of chartData[0].values" class="child">
<div class="chart-goal-name">{{goalName}}</div>
<div class="overlay">TOTAL USERS {{userCount}} </div>
<div class="chart-holder">
<nvd3 [options]="donutChartOptions"
[data]="chart"
class="top-1">
</nvd3>
</div>
</div>
这里你使用的是绝对位置。所以当你写 left 属性 或 top 属性 时,它是从屏幕左侧和屏幕顶部计算的。因此,所有动态创建的 div 都将呈现在同一位置。
所以基本上你需要给每个不同的左值。为此,您可以在用于交互的对象中添加左侧位置的值。
您还可以在用于生成 chartData[0].values
的对象中添加顶部位置然后使用对象的top和left的值设置在html中,如下所示。
<div *ngFor="let chart of chartData[0].values" class="child">
<div class="chart-goal-name">{{goalName}}</div>
<div class="overlay" [ngStyle]="{'left':chart.left, 'top': chart.top}">TOTAL USERS {{userCount}} </div>
<div class="chart-holder">
<nvd3 [options]="donutChartOptions"
[data]="chart"
class="top-1">
</nvd3>
</div>
</div>
当你使用 position:absolute;
parent 时需要 position
relative
.
在下面添加 css.
.child{position:relative;}