因为table的圆角实现比较复杂,所以写成一个less函数记录一下
应用
@import (reference) './utils.less';table { // 给不同的顶点设置对立的圆角 .add-radius-for-table(@border: 1px solid #000; @allRadius: 6px); // 能够给不同的顶点设置不同的圆角 .add-radius-for-table(@border: 1px solid #000; @allRadius: 6px 7px 8px 9px);}
工具函数 utils.less
/** * @description: 设置表格table的圆角边框 * @param border: 表格的border款式:1px solid blue * @param allRadius: 表格的radius:5px 或 5px 10px 或 5px 10px 20px等 */.add-radius-for-table(@border, @allRadius) { .getFullStrFromNum(@allRadius); @leftTop: extract(@res, 1); @rightTop: extract(@res, 2); @rightBottom: extract(@res, 3); @leftBottom: extract(@res, 4); border-collapse: separate; border-spacing: 0px; tr { td, th { border: @border; border-top: none; border-left: none; &:first-child { border-left: @border; } } &:first-child { td, th { border-top: @border; &:first-child { border-top-left-radius: @leftTop; } &:last-child { border-top-right-radius: @rightTop; } } } &:last-child { td, th { &:first-child { border-bottom-left-radius: @leftBottom; } &:last-child { border-bottom-right-radius: @rightBottom; } } } }}/** * @description: 把 5px 10px 类型的数组参数补充到四位 5px 10px 5px 10px;为了不便前面对立取参 * @param all: 5px 或 5px 10px 或 5px 10px 20px等 */.getFullStrFromNum(@all) { ._getFullStrFromNum(@all) { @res: @all; } ._getFullStrFromNum(@all) when (length(@all) = 1) { @res: @all @all @all @all; } ._getFullStrFromNum(@all) when (length(@all) = 2) { @res: extract(@all, 1) extract(@all, 2) extract(@all, 1) extract(@all, 2); } ._getFullStrFromNum(@all) when (length(@all) = 3) { @res: extract(@all, 1) extract(@all, 2) extract(@all, 3) extract(@all, 2); } ._getFullStrFromNum(@all);}