在 vuetify 中的 fab 按钮上放置叠加层
Posted
技术标签:
【中文标题】在 vuetify 中的 fab 按钮上放置叠加层【英文标题】:Put overlay on fab buttons in vuetify 【发布时间】:2019-12-29 10:57:51 【问题描述】:正如您在下面的 sn-p 中看到的那样,叠加层没有得到 fab 按钮的圆形形式。我怎样才能做到这一点?
new Vue(
el: '#app',
vuetify: new Vuetify(),
data()
return
choices: [
text: "Foo",
isCorrect: true
,
text: "Bar",
isCorrect: false
]
)
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@3.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
</head>
<body>
<div id="app">
<v-hover v-slot:default=" hover ">
<v-btn light fab large color="primary">
<v-overlay absolute :value="!hover">
b
</v-overlay>
a
</v-btn>
</v-hover>
</div>
</body>
</html>
我可以用 css 做到这一点,但我正在通过 vuetify 寻找一些解决方案。
【问题讨论】:
【参考方案1】:尝试添加以下 CSS 规则,并且不要忘记将类添加到您的 btn
(class="btn--overlayed"
):
.btn--overlayed .v-btn__content
position: static;
.btn--overlayed .v-overlay
border-radius: 50%;
代码 sn-p
new Vue(
el: '#app',
vuetify: new Vuetify(),
data()
return
choices: [
text: "Foo",
isCorrect: true
,
text: "Bar",
isCorrect: false
]
)
.btn--overlayed .v-btn__content
position: static;
.btn--overlayed .v-overlay
border-radius: 50%;
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@3.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
</head>
<body>
<div id="app">
<v-hover v-slot:default=" hover ">
<v-btn light fab large color="primary" class="btn--overlayed">
<v-overlay absolute :value="!hover">
b
</v-overlay>
a
</v-btn>
</v-hover>
</div>
</body>
</html>
【讨论】:
以上是关于在 vuetify 中的 fab 按钮上放置叠加层的主要内容,如果未能解决你的问题,请参考以下文章