使用计算开关在CSS中定义v-img的top属性
P粉704196697
2023-08-30 23:50:32
<p>我想根据窗口的当前断点定义v-img的top属性。</p>
<p>我想这样定义:</p>
<pre class="brush:php;toolbar:false;"><v-img contain id="logo-transparent" :top="logoTop" :width="logoWidth" :src="logoTransparent" class="hidden-xs-only"></v-img></pre>
<p>计算属性如下:</p>
<pre class="brush:php;toolbar:false;">logoTop(){
switch (this.$vuetify.breakpoint.name) {
case 'xl': return "-4%"
case 'lg': return "-6%"
case 'md': return "-8%"
case 'sm': return "-8%"
case 'xs': return 0
default:
return "-4%"
}
},</pre>
<p>CSS如下:</p>
<pre class="brush:php;toolbar:false;">#logo-transparent{
z-index: 1;
width: 400px;
height: 300px;
position: absolute;
right: -1%;
}</pre>
<p>但问题是v-img没有top属性。</p>
<p>我想使用计算属性来定义图像的CSS,如下所示:</p>
<pre class="brush:php;toolbar:false;">logoTop(){
return {
"--top-property" : switch (this.$vuetify.breakpoint.name) {
case 'xl': return 400
case 'lg': return 300
case 'md': return 300
case 'sm': return 200
case 'xs': return 0
default:
return 400
}
}
},</pre>
<p>在CSS中使用它的方法如下:</p>
<pre class="lang-css prettyprint-override"><code>top : var(--top-property)
</code></pre>
<p>但似乎我不能在这种情况下使用switch。</p>
<p>我该如何做呢?</p>
您原来的
logoTop
计算属性可以在样式绑定中用于设置v-img
的top
位置:演示
switch
不返回任何内容。你应该像这样使用一个变量