vuetify.js v-select 最小高度限制?

新手上路,请多包涵

正如您从下面看到的,我正在尝试降低 v-select 元素的高度,但我可以设置的最小高度似乎有限制。即在 height = 40 之后,进一步降低高度似乎不再起作用。反正有没有围绕这个限制,所以我可以让这个元素更小?我需要这个,因为我需要将它放入一个相对较小的 div 中。提前致谢 -

 new Vue({
  el: "#app",
  data: {
    years: [2015, 2016, 2017, 2018]
  }
})
 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vuetify/1.3.7/vuetify.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vuetify/1.3.7/vuetify.min.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<div id="app">
<v-app>
  <v-layout row>
      <v-select
        label="height=80"
        outline
        height="80"
        :items="years">
      </v-select>
      <v-select
        label="height=60"
        outline
        height="60"
        :items="years">
      </v-select>
      <v-select
        label="height=40"
        outline
        height="40"
        :items="years">
        </v-select>
      <v-select
        label="height=20"
        outline
        height="20"
        :items="years">
      </v-select>
  </v-layout>
</v-app>
</div>

原文由 Psidom 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 840
2 个回答

min-height v-select 组件的 56px 由以下 CSS 规则定义:

      .v-text-field--box .v-input__slot, .v-text-field--outline .v-input__slot{
       min-height:56px;
     }

让我们覆盖它,例如通过设置:

   .v-text-field--box .v-input__slot, .v-text-field--outline .v-input__slot{
   min-height: auto!important;
  }

但结果并不完美,内容也没有正确对齐,为了解决这个问题,我们将在上述规则中添加以下属性:

   display: flex!important;
  align-items: center!important

 new Vue({
  el: "#app",
  data: {
    years: [2015, 2016, 2017, 2018]
  }
})
 .v-text-field--box .v-input__slot,
.v-text-field--outline .v-input__slot {
  min-height: auto!important;
  display: flex!important;
  align-items: center!important;
}
 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vuetify/1.3.7/vuetify.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vuetify/1.3.7/vuetify.min.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<div id="app">
  <v-app>
    <v-layout row>
      <v-select label="height=80" outline height="80" :items="years">
      </v-select>
      <v-select label="height=60" outline height="60" :items="years">
      </v-select>
      <v-select label="height=40" outline height="40" :items="years">
      </v-select>
      <v-select label="height=20" outline height="20" :items="years">
      </v-select>
    </v-layout>
  </v-app>
</div>

原文由 Boussadjra Brahim 发布,翻译遵循 CC BY-SA 4.0 许可协议

给定的 解决方案对我不起作用……所以我创建了一个。

这将减少 选择列表项

.v-select .v-input__control .v-input__slot .v-select__slot .v-select__selections {
  padding: 0 !important;
  min-height: 0 !important;
}

.v-select-list .v-list-item {
  min-height: 0 !important;
}

.v-select-list .v-list-item .v-list-item__content {
  padding: 4px 0 !important;
}

原文由 Muluken Getachew 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题