js动态设置padding-top遇到的坑

我想通过js动态设置元素padding-top的百分比值:以下几种都是无法设置成功的:

// setAttribute设置padding-top并且转换为百分比
imageBox.setAttribute('padding-top',`${(imageHeight)*100}%`);
//setAttribute设置padding-top使用percentage
imageBox.setAttribute('padding-top',`percentage(${imageHeight})`);
// style属性直接设置 使用percentage
imageBox.style.paddingTop = `percentage${imageHeight}`;

成功实现的方式:

imageBox.style.paddingTop = `${imageHeight}%`;

percentage这个百分比用法在css中是起作用的,在js中设置css样式的时候还是尽量少用,会出现设置不成功的问题,还是需要转换成真正的百分比。

一楼小伙伴提醒的很对,确实基础没掌握好,上面两行是不可行的。设置css样式应该使用setProperty()。
posted @ 2019-07-08 15:26  蓓蕾心晴  阅读(8524)  评论(4编辑  收藏  举报