Javascript Can';t改变元素';s高度
我试图通过拖动(如)来调整元素的大小。我编写了一个简单的指令(稍后将处理ghostbar): 问题是我不能改变元素的高度。其他风格也不错。我用的是Angular 4.0.3 计算属性:Javascript Can';t改变元素';s高度,javascript,css,angular,Javascript,Css,Angular,我试图通过拖动(如)来调整元素的大小。我编写了一个简单的指令(稍后将处理ghostbar): 问题是我不能改变元素的高度。其他风格也不错。我用的是Angular 4.0.3 计算属性: display: block; height: 244.781px; left: 0px; overflow-x: hidden; overflow-y: scroll; position: absolute; top: 655.422px; width: 1793px; *renderer.setStyle(
display: block;
height: 244.781px;
left: 0px;
overflow-x: hidden;
overflow-y: scroll;
position: absolute;
top: 655.422px;
width: 1793px;
*renderer.setStyle()
也不起作用
**我试图调整大小的元素是网格平铺(来自角度材质)
***指令对其他元素起作用。编辑2:
我深入研究了md网格列表
实现。每次触发ngAfterContentChecked
时,都会重新计算行高()。这发生在每次鼠标事件之后,可能是设置高度无效的原因
从md网格列表
文档中,我可以看到您还可以将行高
(例如200px)输入参数传递到`md网格列表。这似乎是设置行高的最干净的方法,但会将所有行缩放到相同的大小
如果这不是您想要达到的效果,您可以尝试在lifecycle挂钩中设置高度
编辑: 如果代码试图调整
display:inline
元素的大小,则首先必须对其应用例如display:inline块。否则,它将忽略高度值
style.height
属性要求数值有一个单位(例如%
,px
,rem
,em
,vh
)
这应该起作用:
el.nativeElement.style.height=`${e.pageX+2}px`;
哦,是的,对不起,我试过了,没用。示例代码“更新”中出错。我已使用另一种可能的解决方案更新了答案。元素有display:block。为问题添加了计算属性。在检查实现后,我已使用另一种可能的解决方案更新了我的答案。
display: block;
height: 244.781px;
left: 0px;
overflow-x: hidden;
overflow-y: scroll;
position: absolute;
top: 655.422px;
width: 1793px;