Rumah  >  Soal Jawab  >  teks badan

Tentukan atribut teratas v-img dalam CSS menggunakan suis yang dikira

<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="tersembunyi-xs-sahaja"></v-img></pre> <p>计算属性如下:</p> <pre class="brush:php;toolbar:false;">logoTop(){ suis (this.$vuetify.breakpoint.name) { kes 'xl': kembalikan "-4%" kes 'lg': kembalikan "-6%" kes 'md': kembalikan "-8%" kes 'sm': kembalikan "-8%" kes 'xs': pulangkan 0 lalai: pulangkan "-4%" } },</pre> <p>CSS如下:</p> <pre class="brush:php;toolbar:false;">#logo-transparent{ indeks-z: 1; lebar: 400px; ketinggian: 300px; jawatan: mutlak; kanan: -1%; }</pre> <p>但问题是v-img没有 atas属性。</p> <p>我想使用计算属性来定义图像的CSS,如下所示:</p> <pre class="brush:php;toolbar:false;">logoTop(){ kembali { "--harta atasan" : suis (this.$vuetify.breakpoint.name) { kes 'xl': pulangkan 400 kes 'lg': pulangkan 300 kes 'md': pulangkan 300 kes 'sm': pulangkan 200 kes 'xs': pulangkan 0 lalai: pulangan 400 } } },</pre> <p>在CSS中使用它的方法如下:</p> <pre class="lang-css prettyprint-override"><kod>atas : var(--top-property) </code></pre> <p>但似乎我不能在这种情况下使用suis。</p> <p>我该如何做呢?</p>
P粉704196697P粉704196697415 hari yang lalu461

membalas semua(2)saya akan balas

  • P粉300541798

    P粉3005417982023-08-31 16:51:55

    Lokasi logoTop计算属性可以在样式绑定中用于设置v-imgtop asal anda:

    <template>
      <v-img :style="{ top: logoTop }" ... />
    </template>
    
    <script>
    export default {
      computed: {
        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%"
          }
        },
      }
    }
    </script>
    

    Demo

    balas
    0
  • P粉462328904

    P粉4623289042023-08-31 14:24:05

    switch Tiada pulangan. Anda harus menggunakan pembolehubah seperti ini

    logoTop() {
        let topProperty;
        switch (this.$vuetify.breakpoint.name) {
            case 'xl':
                topProperty =  400;
                break;
            case 'lg':
            case 'md':
                topProperty =  300;
                break;
            case 'sm':
                topProperty =  200;
                break;
            case 'xs':
                topProperty =  0;
                break;
            default:
                topProperty = 400;
        }
        return {
            "--top-property" : topProperty
        }
    },
    
    

    balas
    0
  • Batalbalas