我想通过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()。