null
@import '../../main-styles.scss';
.note-card-container {
position: relative;
background: white;
border-radius: 5px;
box-shadow: 0px 2px 15px 2px rgba(black, 0.068);
transition: box-shadow 0.2s ease-out;
margin-top: 35px;
&:hover {
cursor: pointer;
box-shadow: 0px 0px 0px 4px rgba(black, 0.068);
.x-button {
opacity: 1;
transform: scale(1);
transition-delay: 0.35s;
}
}
.note-card-content {
padding: 25px;
.note-card-title {
font-size: 22px;
font-weight: bold;
color: $purple;
}
.note-card-body {
position: relative;
color: #555;
max-height: 80px;
overflow: hidden;
.fade-out-truncation {
position: absolute;
pointer-events: none;
bottom: 0;
height: 50%;
width: 100%;
background: linear-gradient(to bottom, rgba(white, 0) 0%, rgba(white, 0.8) 50%, white 100%);
}
}
}
}
.x-button {
position: absolute;
top: 12px;
right: 12px;
height: 34px;
width: 34px;
background-color: $light-red;
background-image: url('../../assets/delete_icon.svg');
background-repeat: no-repeat;
background-position: center;
border-radius: 4px;
transition: opacity 0.2s ease-out, transform 0.2s ease-out;
opacity: 0;
transform: scale(0.35);
&:hover {
background-color: darken($light-red, 3%);
}
&:active {
background-color: darken($light-red, 5%);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div #container class="note-card-container">
<div class="note-card-content">
<h1 class="note-card-title">Title</h1>
<div #bodyText class="note-card-body">
<p> This is a test </p>
<div #truncator class="fade-out-truncation"></div>
</div>
</div>
<div class="x-button"></div>
</div>
null
我也有一个.TS:
import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewChildren, } from '@angular/core';
@Component({
selector: 'app-note-card',
templateUrl: './note-card.component.html',
styleUrls: ['./note-card.component.scss']
})
export class NoteCardComponent implements OnInit {
name = "Angular";
@ViewChild('truncator', {static: true}) truncator: ElementRef<HTMLElement>;
@ViewChild('bodyText') bodyText: ElementRef<HTMLElement>;
constructor(private renderer: Renderer2) { }
ngOnInit() {
let style = window.getComputedStyle(this.bodyText.nativeElement, null);
let viewableHeight = parseInt(style.getPropertyValue("height"),10);
if (this.bodyText.nativeElement.scrollHeight > viewableHeight) {
this.renderer.setStyle(this.truncator.nativeElement, 'display', 'block');
}else{
this.renderer.setStyle(this.truncator.nativeElement,'display', 'none');
}
}
}
错误:错误TS2564:属性“truncator”没有初始值设定项,并且未在构造函数中明确分配。
我也不知道为什么...这是我见过的最简单的东西,但它不起作用…在component.html中需要用#标记html元素,而在component.ts中则需要使用以下方法:@viewchild('truncator',{static:true})truncator:elementRef;我试了好几种方法,比如截尾器和体文本,但什么都没有...太烦人了..
为什么截断器和另一个不能工作......
typescript错误是因为它所说的“not deterial assigned in The constructor”,这在@viewchild
的Angular中是正常的。
您可以添加!
-非Null断言来通知typescript它将不为Null:
@ViewChild('truncator', {static: true}) truncator!: ElementRef<HTMLElement>;
@ViewChild('bodyText') bodyText!: ElementRef<HTMLElement>;
问题内容: 关于python 3.0中reduce()函数的更改以及如何删除它,网上似乎有很多热烈的讨论。我有点难以理解为什么会这样。我发现在各种情况下使用它是很合理的。如果蔑视仅仅是主观的,我无法想象会有这么多人关心它。 我想念什么?reduce()有什么问题? 问题答案: 正如Guido在Python 3000 帖子中的reduce()的命运中所说: 所以现在reduce()。实际上,这是我一
问题内容: 最近,我在一些最差的PHP实践中阅读了此线程。在第二个答案中,有一个关于的使用的简短讨论,我只是想知道所有有关的内容。 我个人使用它来切分给定的数组,例如或稍后在其中清理变量,因为它们已为我方便地命名。 这是不好的做法吗?这有什么风险?您对的使用有何看法? 问题答案: 我发现这只是一种不好的做法,因为它会导致许多变数,将来的维护者(或您自己在几周内)都不知道它们的来源。考虑这种情况:
问题内容: 我简直不敢相信我网站上正在发生的事情。当我添加此行时: 一切正常。如果我不这样做,CSS就会“混乱”,一切都会变得不同,布局也会变得“丑陋”。 这条线如何解决所有问题? 问题答案: 您正在将HTML与XHTML混合使用。 通常,声明用于区分HTMLish语言的版本(在这种情况下为HTML或XHTML)。 不同的标记语言将表现不同。我最喜欢的例子是。在浏览器中查看以下内容: XHTML
问题内容: 该代码在第一个“等级”之后保持两次打印。有谁知道为什么要打印两次?我做错了“ For Loop”吗? 问题答案: 这是“两次打印”,因为当您按回车键输入一个字符时,实际上是在写两个字符:您键入的字符和(换行符)。 添加第二个调用以读取换行符: 同样,不需要初始化为in 也可以。实际上,在此循环中使用a没有意义,首选使用a 。
问题内容: 我正在尝试使用openFileOutput函数,但它无法编译且无法识别该函数。我正在使用android sdk 1.6。这是SDK问题吗?这是参数问题吗? 问题答案: 您的方法应如下。将额外的上下文作为参数。对于这种方法,您可以通过您的服务或活动
我的这段代码挑战了我所有的c语言知识。 在我的“64位 - Corei5 - Fedora - GCC”上,它打印出我喂养它的东西。但是在我朋友的系统上(32位,MS XP,最小值),它打印。我不明白为什么。有人知道吗? 顺便说一句:他的系统上的sizeof(unsigned long long int)是8。