今天我遇到了一个问题,解决了好久:
-
就是Dialog对话框的样式问题,第一层对话框写了一个样式生效了,写了第二层,也就是嵌套对话框,在第二层同样也需要这个样式。但是怎么都没有生效。
-
于是,我上网找了资料,看了很多人的解决方法。依旧没有解决。于是乎,我认真看element的文档。
-
发现因为嵌套对话框需要添加
append-to-body
属性,这个属性描述是:Dialog 自身是否插入至 body 元素上。嵌套的 Dialog 必须指定该属性并赋值为 true。我发现是插入在body上,我检查一下我的HTML结构和css结构。
下面是不正确的写法
HTML的结构是这样的(使用的vue框架):
<template>
<div class="bigbox">
<el-dialog
title="title"
>
<el-dialog
append-to-body
custom-class="innerDialog"
>
<div class="box">
</div>
</el-dialog>
</el-dialog>
</div>
</template>
css结构(用了scss):
<style scoped lang="scss">
.bigbox {
.innerDialog {
.box {
// 写的样式 !!!这时样式不生效。虽然HTML的结构没有问题
}
}
}
</style>
下面是正确的写法
HTML结构是没有问题的,只修改了css
css结构(用了scss):
<style scoped lang="scss">
.bigbox {
}
.innerDialog {
.box {
// 这样就生效了!
}
}
</style>