vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Element Plus在el-form-item中设置justify-content无效

Element Plus在el-form-item中设置justify-content无效的解决方案

作者:蘇小筱oig

这篇文章主要介绍了Element Plus在el-form-item中设置justify-content无效的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Element Plus在el-form-item中设置justify-content无效

在el-form-item中写了一个包含两个按钮的按钮组,需要居右对齐,使用justify-content:flex-end不起效,经检查问题在于el-form-item下面自动生成的.el-form-item__content样式中包含一句:

.el-form-item__content {
        flex:1

}

所以导致justify-content不生效

解决办法是修改该类的flex属性,但在代码里直接对该类使用类选择器不行,因为这是element内部定义的类,不是我们定义的,所以需要用到深度选择器来检索该类:

/deep/ .el-form-item__content{
        flex: unset

}

或者使用v-deep命令:

::v-deep .el-form-item__content{
         flex: unset

}

两种方式均可修改.el-form-item__content样式,当然直接使用这种方式修改会对所有的.el-form-item__content造成影响,需要scoped或者子类选择来进行约束

结果:

按钮组成功居右对齐!

另外一种居右对齐的办法是使用float,但这并不会解决我们justify-conten失效的问题

justify-content设置在element-plus某些控件中无效

在 el-form-item 设置外部样式justify-content: flex-end 卡住了,死活不起效,记得在element中是可以起效的啊。

查看了element-plus/dist/index.css 的样式表,发现.el-form-item__content 的样式中有这样一句:

.el-form-item__content{

 flex:1

}

如果有这样一句当然 justify-content: flex-end 不会起作用了,于是就覆写了element-plus 默认样式

/deep/ .el-form-item__content{
flex: unset;

}

当然是用到了scoped,全局覆写就惨了。修改后问题解决。

当然您也可以用float解决,那么您可能失去一次学习justify-content的机会,理解和解决问题才是我们学习的关键。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文