el-table修改表头、列的背景颜色、字体样式

设置列的背景颜色

html

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.4.11/lib/index.js"></script>
<div id="app">
<template>
    <el-table :data="tableData" 
    			:cell-style="cellStyle" 
    			border style="width: 100%">
      <el-table-column prop="date" label="日期" width="180">
      </el-table-column>
      <el-table-column prop="name" label="姓名" width="180">
      </el-table-column>
      <el-table-column prop="address" label="地址">
      </el-table-column>
    </el-table>
  </template>
</div>

js

var Main = {
      data() {
        return {
          tableData: [{
            date: '2016-05-02',
            name: '王小虎1',
            address: '上海市普陀区金沙江路 1518 弄'
          },{
            date: '2016-05-02',
            name: '王小虎1',
            address: '上海市普陀区金沙江路 1519 弄'
          }, {
            date: '2016-05-04',
            name: '王小虎2',
            address: '上海市普陀区金沙江路 1517 弄'
          },{
            date: '2016-05-02',
            name: '王小虎1',
            address: '上海市普陀区金沙江路 1522 弄'
          }]
        }
      },
      methods: {
      	cellStyle({row, column, rowIndex, columnIndex}){
        	if(column.property === 'name'){
          	switch(row.name) {
            	case '王小虎1':
              	return {
                	background: 'red',
                  color: '#FFFFFF'
                }
              	break
              case '王小虎2':
              	return {
                	background: 'blue',
                  color: '#FFFFFF'
                }
              	break
            }
          }
        }
      }
    }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')

效果

在这里插入图片描述

设置表头背景颜色,字体

html

    <el-table
      border
      fit
      highlight-current-row
      style="width: 100%;"
      stripe
      :header-cell-style="rowClass"
    >
      <!-- 表格列 -->
      <el-table-column
        prop="name"
        label="地区"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="厂站"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="psdb名称"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="参数类型"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="psdb值"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="cime值"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="差异比例"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="修改建议"
        min-width="90"
        style="color:green"
        align="center"
      />
      <el-table-column
        prop="name"
        label="PSDB修改值"
        min-width="90"
        align="center"
      />
      <el-table-column
        prop="name"
        label="CIME修改值"
        min-width="90"
        align="center"
      />
    </el-table>

JS

    rowClass({ rowIndex, columnIndex }) {
      if (rowIndex === 0) {
        if(columnIndex===7||columnIndex===8||columnIndex===9){
          return {background:'skyblue',color:'white'}
        }else{
          return {background:'#ededed'}
        }
      }
    },

效果图
在这里插入图片描述

<think>好的,我需要解决用户的问题:如何在Element UI的el-table-column中设置表头背景颜色。首先,我得回忆一下Element UI的文档和相关组件属性。 用户提到的是el-tableel-table-column组件,通常表头样式可以通过自定义CSS来实现。Element UI的组件通常允许通过类名(class)来覆盖默认样式。可能涉及到使用header-cell-class-name属性,这个属性可以为表头单元格添加类名,然后通过CSS来设置背景颜色。 接下来,我需要验证这个方法是否正确。查阅Element UI的官方文档,发现el-table-column确实有header-cell-class-name属性,用于给表头单元格添加类名。用户可以通过这个类名在CSS中定义样式,比如背景颜色。 然后,考虑如何编写示例代码。需要给el-table-column添加header-cell-class-name属性,并定义一个类,比如custom-header。然后在CSS中使用这个类来设置background-color属性。需要注意的是,可能需要使用深度选择器(如/deep/或::v-deep)来覆盖子组件的样式,特别是在使用scoped的样式时。 另外,用户可能遇到样式不生效的问题,这可能是因为CSS的优先级不够,或者没有正确使用深度选择器。需要提醒用户注意这一点,并提供相应的解决方案。 最后,生成相关问题,考虑用户可能进一步想了解如何设置其他表头样式,比如字体颜色、边框,或者多个样式,以及动态改变样式的方法。这些都是常见的后续问题,提前准备好可以帮用户更深入理解。</think>要在Element UI的`el-table-column`中设置表头背景颜色,可以通过以下步骤实现: ### 1. 使用header-cell-class-name属性 通过给`el-table-column`添加`header-cell-class-name`属性指定CSS类名,再通过CSS设置背景颜色: ```html <el-table :data="tableData"> <el-table-column prop="name" label="姓名" header-cell-class-name="custom-header" ></el-table-column> </el-table> <style> /* 非scoped样式直接生效 */ .custom-header { background-color: #f0ad4e !important; } /* 若使用scoped样式需要深度选择器 */ /deep/ .custom-header { background-color: #f0ad4e !important; } </style> ``` ### 2. 全局样式覆盖(可选) 直接在全局CSS中修改所有表头样式: ```css .el-table th { background-color: #5bc0de !important; } ``` ### 注意事项 1. `!important`用于覆盖Element UI默认样式 2. 使用scoped样式时,必须添加`/deep/`或`::v-deep`深度选择器[^1] 3. 颜色值建议使用HEX或RGB格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值