css - 当Angular 8中存在文本溢出时动画滚动文本
问题描述
我正在开发一个 Angular 8 应用程序,并希望在出现此类情况时处理文本溢出。所以我要做的是让文本从右到左滚动,只有当有任何不适合屏幕的隐藏文本时。如果文本适合,我不想对其进行动画处理。我认为这是您可以使用 Jquery 等轻松完成的事情,但由于我在 Angular 8 中工作,我需要一个纯 css 解决方案或一个打字稿解决方案。我将在下面附上一个链接,您可以在其中看到我此时的位置。现在我只是在悬停时为所有内容设置动画。所以在我的例子中,我只想为第一段设置动画,而不是第二段。
解决方案
我希望这是您所期望的,让我们尝试发表评论。
app.component.css
.text {
overflow: hidden;
}
p {
text-align: center;
white-space: pre;
transition: 30s;
}
app.component.html
<div class="text" #parentTag (mouseenter)="move()" (mouseleave)="stop()">
<p #target >This is some long long super long, extremly long text right here This is some long long super long, extremly long text right hereThis is some long long super long, extremly long text right here This is some long long super long, extremly long text right here This is some long long super long, extremly long text right here This is some long long super long, extremly long text right here This is some long long super long, extremly long text right here
</p>
<div>
app.component.ts
import { Component, ElementRef,Renderer, ViewChild, Renderer2 } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
left = 0;
@ViewChild('parentTag', {static: false})
parentTag: ElementRef;
@ViewChild('target', {static: false})
target: ElementRef;
constructor(private el:ElementRef, private renderer: Renderer2){
}
move(){
console.log(this.parentTag.nativeElement.clientWidth);
console.log(this.target.nativeElement.scrollWidth);
let left = this.target.nativeElement.scrollWidth -
this.parentTag.nativeElement.clientWidth;
this.renderer.setStyle(this.target.nativeElement, 'margin-left', '-'+left+'px');
}
stop(){
this.renderer.setStyle(this.target.nativeElement, 'margin-left', '0px');
}
}
推荐阅读
- javascript - 翻译模块中未定义上下文
- python - 按顺序迭代 NetworkX DiGraph 的节点
- api - 无内容和错误 204(无内容)错误的 Shopware 产品 API 响应
- algorithm - 如何优化 Haskell 代码以通过 HackerRanks 超时测试用例(不是为了任何正在进行的比赛,只是我在练习)
- tensorflow - 在 TensorflowExtended (TFX) 中处理可变长度特征
- object - 当用户单击“按钮 4”时,控制台会记录什么内容,为什么?
- ios - 使用通用链接在我的会议应用程序中打开 jitsi 视频,但它只打开我的 App.not 会议
- amazon-web-services - EKS 节点组真的有必要吗
- xcode - 如何从 Xcode 打开现有的颤振项目?
- javascript - 如果文件名仅匹配字符串的一部分,则链接到文件