说明

以下是基于element-ui的部分组件

版本:"element-ui": "^2.15.10"

el-table

表格居中的样式穿透

/*
  el-table样式穿透 表格居中
*/
/deep/ .el-table th > .cell {
    text-align: center;
}

/deep/ .el-table .cell {
    text-align: center;
}

el-input

输入框内边距穿透

/*输入框*/
/deep/ .title-input .el-input__inner {
    padding: 0;
}

未穿透前,输入框的内边距相对于整个输入框的长度来说太大,如下图所示

input

因此需要穿透,将内边距设置为0,此时可完整显示输入框内容,如下图所示

input

el-select

下拉框样式穿透,显示的字体颜色

/*下拉框显示的文字*/
/deep/ .red-select .el-input__inner {
    font-weight: bold; /* 修改文字粗细*/
    color: red; /* 修改文字颜色 在el-select上添加 class="red.select" 即可生效*/
}

/deep/ .green-select .el-input__inner {
    font-weight: bold; /* 修改文字粗细*/
    color: green; /* 修改文字颜色*/
}

/deep/ .yellow-select .el-input__inner {
    font-weight: bold; /* 修改文字粗细*/
    color: yellowgreen; /* 修改文字颜色*/
}

使用


<el-select v-model.number="row.stroke_code" :class="showStyle(row.stroke_code)" size="mini" placeholder="请选择">
  <el-option
    v-for="item in travelCodeList"
    :key="item.value"
    :label="item.label"
    :value="item.value"
    :class="showColor(item.value)"
  />
</el-select>

此处做了样式绑定,根据不同的值,显示不同的颜色

// 样式计算
showStyle()
{
  return (code) => {
    return code === 2 ? 'green-select' : code === 1 ? 'yellow-select' : 'red-select'
  }
}

此时,该处的下拉框显示的文字颜色为红色,如下图所示(所有效果)

select

由图可知,在el-select上添加class="red-select"或者其他颜色的class即可生效

最右边的是未加class的下拉框,可见其文字颜色为黑色,即默认状态的颜色

下拉选项的颜色

下拉选项的颜色并不需要穿透,只需要在el-option上添加样式即可


<el-select v-model.number="row.stroke_code" size="mini" placeholder="请选择">
  <el-option
    v-for="item in travelCodeList"
    :key="item.value"
    :label="item.label"
    :value="item.value"
    :class="showColor(item.value)"
  />
</el-select>

代码中的class="showColor(item.value)"是为了动态显示下拉选项的颜色

// 各种码的颜色的样式计算
showColor()
{
  return (code) => {
    return code === 2 ? 'green' : code === 1 ? 'yellow' : 'red'
  }
}

其效果如下图所示

select

antd-table

有些情况下我们需要改变table的样式,比如说表格的边框,表头的背景色等等

表格边框

首先设置表格的基本属性

<Table
  rowClassName="editable-row"
  columns={customerDeliveryInformationTableColumn}
  dataSource={data}
  scroll={{ x: true }}
>
</Table>

初初始样式如下

table

现在我们需要取消表头的边框以及标题之间的边框,因此需要自定义样式

// table表头
& .ant-table-thead > tr > th {
  // 表头的背景色
  background-color: transparent;
  color: #4d4d4d;

  &::before {
    // 表头的左边框
    width: 0 !important;
  }
}

border-th

现在我们设置行的样式:

  // table表头取消边框
& .ant-table-thead > tr > th {
  border: none;
  border-inline-end: none !important;
  background-color: white;
}

& .editable-row > td {
  border: 1px solid #c7d9ea !important;
}

// table开启多选时 选中行的背景色
:where(.css-dev-only-do-not-override-108bl21).ant-table-wrapper .ant-table-tbody .ant-table-row.ant-table-row-selected >.ant-table-cell {
    background-color: #ddf2f5 !important;
}

row

滚动条样式

  /* 自定义滚动条样式 */
::-webkit-scrollbar {
    height: 7px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1; /* 背景颜色 */
}

::-webkit-scrollbar-thumb {
    margin-top: 5px;
    border-radius: 10px;
    background: #ffd90e; /* 滚动条颜色 */
}

::-webkit-scrollbar-thumb:hover {
    background: #ffd90e; /* 鼠标悬停时的颜色 */
    border-radius: 10px;
}

/* 火狐浏览器 */
* {
    scrollbar-width: auto; /* 滚动条宽度 */
    scrollbar-color: #ffd90e #f1f1f1; /* 滚动条颜色和背景颜色 */
}

scroll

Last Updated:
Contributors: huangdingxin, 黄定鑫