vue-material:仅在小屏幕上显示浮动操作按钮/快速拨号
vue-material: show floating-action-button / speed-dial only on small screens
所以我将 vue 与 vue-material
结合使用
我定义了以下快速拨号:
<template>
<md-speed-dial class="md-top-right" md-direction="bottom" md-event="click">
<md-speed-dial-target class="md-primary">
<md-icon class="md-morph-initial">add</md-icon>
<md-icon class="md-morph-final">close</md-icon>
</md-speed-dial-target>
<md-speed-dial-content>
<md-button class="md-icon-button">
<md-icon>directions</md-icon>
</md-button>
<md-button class="md-icon-button">
<md-icon>streetview</md-icon>
</md-button>
</md-speed-dial-content>
</md-speed-dial>
</template>
如何才能只在小屏幕上显示?
我尝试将 类 md-xlarge-hide md-large-hide md-medium-hide
添加到根 md-speed-dial
标记,但这没有用,因为它被 [= 的组件 css 覆盖了13=]。我还尝试用提到的 类 将组件包装在 div
中,但这根本不起作用。
方法一
class 可以被覆盖,因为它没有用 !important
标记。参见 https://github.com/vuematerial/vue-material/blob/dev/dist/vue-material.min.css
您可以将 !important
添加到这些 class 中,使它们更难覆盖(全局或仅在此组件上)。
.md-hide {
display: none !important
}
@media (min-width:1904px) {
.md-xlarge-hide {
display: none !important
}
}
@media (max-width:1903px) {
.md-large-hide {
display: none !important
}
}
@media (max-width:1264px) {
.md-medium-hide {
display: none !important
}
}
@media (max-width:944px) {
.md-small-hide {
display: none !important
}
}
@media (max-width:600px) {
.md-xsmall-hide {
display: none !important
}
}
方法二
使用v-show
控制显示。示例:
<div v-show="window.screen.width<768">example</div>
所以我将 vue 与 vue-material
结合使用我定义了以下快速拨号:
<template>
<md-speed-dial class="md-top-right" md-direction="bottom" md-event="click">
<md-speed-dial-target class="md-primary">
<md-icon class="md-morph-initial">add</md-icon>
<md-icon class="md-morph-final">close</md-icon>
</md-speed-dial-target>
<md-speed-dial-content>
<md-button class="md-icon-button">
<md-icon>directions</md-icon>
</md-button>
<md-button class="md-icon-button">
<md-icon>streetview</md-icon>
</md-button>
</md-speed-dial-content>
</md-speed-dial>
</template>
如何才能只在小屏幕上显示?
我尝试将 类 md-xlarge-hide md-large-hide md-medium-hide
添加到根 md-speed-dial
标记,但这没有用,因为它被 [= 的组件 css 覆盖了13=]。我还尝试用提到的 类 将组件包装在 div
中,但这根本不起作用。
方法一
class 可以被覆盖,因为它没有用 !important
标记。参见 https://github.com/vuematerial/vue-material/blob/dev/dist/vue-material.min.css
您可以将 !important
添加到这些 class 中,使它们更难覆盖(全局或仅在此组件上)。
.md-hide {
display: none !important
}
@media (min-width:1904px) {
.md-xlarge-hide {
display: none !important
}
}
@media (max-width:1903px) {
.md-large-hide {
display: none !important
}
}
@media (max-width:1264px) {
.md-medium-hide {
display: none !important
}
}
@media (max-width:944px) {
.md-small-hide {
display: none !important
}
}
@media (max-width:600px) {
.md-xsmall-hide {
display: none !important
}
}
方法二
使用v-show
控制显示。示例:
<div v-show="window.screen.width<768">example</div>