当前位置:   article > 正文

element ui 修改日期时间选择器el-date-picker的样式_element时间选择器 样式穿透

element时间选择器 样式穿透

elementUI的时间选择器el-date-picker通过深度选择器( /deep/ .class / ::v-deep .class:deep(.class)/ )无法定位到元素进行样式修改。elementUI的时间选择器是将元素直接挂载到页面的<body>中,而非自身元素下。

效果:

方法:使用时间选择器提供的popper-class属性,给其设置样式,但是不能加scoped(不能样式隔离,否则有可能不生效,可以写两个style ,<style lang='scss'>写时间日期选择器的样式</style><style lang='scss' scoped>其他样式</style>)

代码实现:

  1. <div class="searchItem">
  2. <span class="searchLabel">需求起止时间:</span>
  3. <el-date-picker
  4. v-model="searchParams.times"
  5. type="datetimerange"
  6. popper-class="date-style"
  7. :picker-options="pickerOptions"
  8. range-separator="-"
  9. start-placeholder="开始日期"
  10. end-placeholder="结束日期"
  11. align="right"
  12. >
  13. </el-date-picker>
  14. </div>
  15. <style lang='scss'>
  16. .date-style {
  17. // 时间选择器 样式修改
  18. .el-picker-panel__shortcut:hover {
  19. color: #f98600;
  20. }
  21. .el-input__inner:focus {
  22. border-color: #f98600;
  23. }
  24. .el-picker-panel__footer .el-button.is-plain:hover,
  25. &:focus {
  26. border-color: #f98600;
  27. color: #f98600;
  28. }
  29. .el-date-table td.today span {
  30. color: #f98600;
  31. }
  32. .el-date-table td.start-date span,
  33. .el-date-table td.start-date span,
  34. .el-date-table td.end-date span {
  35. background-color: #f98600;
  36. }
  37. .el-date-table td.available:hover {
  38. color: #f98600;
  39. }
  40. .el-time-panel__btn.confirm {
  41. color: #f98600;
  42. }
  43. .el-button.is-plain:active,
  44. .el-button.is-plain:hover,
  45. .el-button.is-plain:focus {
  46. background: #ffffff;
  47. border-color: #f98600;
  48. color: #f98600;
  49. }
  50. }
  51. .searchItem {
  52. display: inline-block;
  53. margin: 10px 0;
  54. margin-right: 12px;
  55. .searchLabel {
  56. font-size: 14px;
  57. color: #333;
  58. }
  59. .itemInput {
  60. display: inline-block;
  61. width: 200px;
  62. margin-left: 8px;
  63. &.longInput {
  64. // width: 320px;
  65. }
  66. }
  67. }
  68. </style>

如果项目必须使用scoped,又不想写两个style样式,也可以单独写个样式文件然后引入使用,加类名可以防止污染全局样式,如.data-style{}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/810573
推荐阅读