在做个vue的UI组件,遇到动态写入样式问题

比如

// HTML
<div class="block" style="{width: bwidth + 'px'}"></div>


// script
props: ['bwidth']

// style
block:before{
    content: '';
    width: bwidth - 2 // 这块代码如何动态写入 在vue里
}

block的宽度是父级传入的,其伪元素before的宽度需要在其基础上-2。

vue里是怎么实现代码

阅读 1.6k
1 个回答

可以用绝对定位,相对于父元素定位,然后用calc(100% - 2px)来实现,位置自己调整一下。

block {
    position: relative;
}

block::before{
    position: absolute;
    content: '';
    width: calc(100% - 2px);
    height: 100%;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题