gpt4 book ai didi

css - 使用宽度计算 Angular 6 动态设置左侧的 CSS 属性

转载 作者:太空宇宙 更新时间:2023-11-04 07:15:10 25 4
gpt4 key购买 nike

我目前正在构建一个 CSS 音频播放器,我正在使用如下 [style] 设置 div 的宽度来表示音频的当前进度,并且效果很好:

<div class="player-progress-current" [style.width.%]="(currentTime * 100)/duration"></div>

我还想通过设置另一个类的 'left' CSS 属性在上面的进度 div 的末尾画一个小圆圈。这将是英文的:

(Parent Width px) - (Progress Width px)

我试过使用 calc() 函数,但它不喜欢它,并且计算的百分比不知道使用我认为的宽度....

<div class="player-progress-handle" [style.left.px]="calc(100% - (currentTime * 100)/duration"></div>

CSS 类是:

.player-progress-current {
width: 100%;
height: 1px;
background-color: red;
}

.player-progress-handle {
position: relative;
bottom: 1px;
border: 1px solid #f50;
border-radius: 100%;
height: 8px;
width: 8px;
background-color: #f50;
box-sizing: border-box;
margin-top: -4px;
margin-left: -4px;
}

有什么想法是最好的方法吗?我确定我可以找到一个 hacky 方法,但希望找到正确的方法

最佳答案

您可以使用 :after 作为句柄并摆脱计算:

.player-progress-current {
position: relative;
width: 50%;
height: 1px;
margin: 20px 0;
background: red;
}

.player-progress-current:after {
content: '';
position: absolute;
right:-3px; bottom: 1px;
border: 1px solid #f50;
border-radius: 55%;
height: 8px;
width: 8px;
background-color: #f50;
box-sizing: border-box;
}
<div class="player-progress-current" [style.width.%]="(currentTime * 100)/duration"></div>

关于css - 使用宽度计算 Angular 6 动态设置左侧的 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50777611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com