一個表格中分為 行 和 列 ,有時候你經常在網頁中看到類似這樣的表格,有時候是合并了列,有時候是合并了行。那么這個是怎么做的?也是通過下面的方法實現的。
向單元格添加屬性即可實現,合并 列 和 行的屬性不一樣
1、合并列的屬性:clospan="2" //要合并幾列數字就是幾
2、合并行的屬性:rowspan="2" //同理,要合并幾行數字就是幾
3、合并后的單元格(行或列)必然會自動多出來一個,需要手動刪掉。
4、重點:合并單元格只和 td 標簽有關系:
(1)合并列:是左右合并,在左側的 td 標簽中添加 colspan="2" 要合并的 td 的數量。
(2)合并行:是上下合并,在上面的 td 標簽中添加 rowspan="2" 要合并的td的數量。
(3)合并完后刪除多余的 td 標簽。
1、合并 列 的用法:
(1)首先確定你要合并的單元格在第幾行第幾列,然后找到它,從他的td標簽中添加屬性。
例如要合并第4行的,第4和第5列:
<tr>
<td>第三節</td>
<td>html</td>
<td>css</td>
<td colspan="2">php</td> <!-- 合并 列 的用法-->
<td>php</td>
</tr>
2、合并 行 的用法:
例如下面:合并第3行和第4行的第1列。
完整代碼:↓
.說明:
推薦指數:★★★★
通俗易懂。
2.效果圖
3.一個含有內部的css的html,名叫:風車-1.html代碼:
<!--注釋法-->
<!--第1步:聲明:可以大小寫均可以:doctype=DOCTYPE-->
<!--doctype html-->
<!DOCTYPE html>
<!--第2步:html包起來,默認lang=‘en’,所以也可以刪除-->
<!--像這樣:html-->
<html>
<html lang="en"-->
<!--第2-1步:head部分設置-->
<head>
<!--第2-1-1步:固定格式meta和title設置-->
<meta charset="UTF-8">
<!--網頁名字自己隨意取-->
<title>大風車DIY1</title>
<!--第2-1-2步:css的設置,因為簡單所以直接寫在html的單個文件里-->
<!--也可以作為外部文件引起css文件-->
<style>
#box {
width: 10px;
height: 10px;
margin: 5px auto;
position: relative;
}
#main {
width: 400px;
height: 400px;
animation: dfc 1s linear infinite;
}
/*這是css的注釋方法*/
/*風車的每一扇葉的設置,因為4個扇葉的設置是一樣的,所以用這樣*/
/*4個扇葉的共性設置*/
.css1,
.css2,
.css3,
.css4 {
width: 200px;
height: 100px;
border: 1px solid blue;
border-radius: 100px 100px 0 0;
position: absolute;
/*4個扇葉的顏色漸變設置*/
background-image: linear-gradient(green, yellow);
}
/*扇葉1的個性設置*/
.css1 {
top: 100px;
}
/*扇葉2的個性設置*/
.css2 {
top: 50px;
left: 150px;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
/*扇葉3的個性設置*/
.css3 {
top: 200px;
left: 200px;
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
/*扇葉4的個性設置*/
.css4 {
top: 250px;
left: 50px;
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-o-transform: rotate(270deg);
transform: rotate(270deg);
}
/*中間的圓形的設置*/
.ssss {
width: 100px;
height: 100px;
border-radius: 100%;
position: absolute;
top: 150px;
left: 150px;
z-index: 10;
/*請注意下面css的顏色設置,可以是小寫的英文字母,也可以是大寫的,還可以是十六進制*/
/*中間圓的漸變顏色設置*/
background-image: radial-gradient(pink, blue);
}
/*風車的豎直桿的設置*/
.hhh {
width: 2px;
height: 250px;
background-image: radial-gradient(black, RED);
position: absolute;
top: 200px;
left: 199px;
z-index: -1;
}
/*運動的功能定義*/
@keyframes dfc {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
25% {
-webkit-transform: rotate( 90deg);
-moz-transform: rotate( 90deg);
-ms-transform: rotate( 90deg);
-o-transform: rotate( 90deg);
transform: rotate( 90deg);
}
50% {
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
75% {
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-o-transform: rotate(270deg);
transform: rotate(270deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
</style>
</head>
<!--第2-2步:body部分設置-->
<body>
<div id="box">
<!--box的div容器里面有風車桿和main的4個運動的扇葉-->
<div id="main">
<!--main里的css是要一起運動的-->
<div class="css1"></div>
<div class="css2"></div>
<div class="css3"></div>
<div class="css4"></div>
<div class="ssss"></div>
</div>
<!--風車的桿是不動的,所以單獨放在一個div容器中-->
<div class="hhh"></div>
</div>
</body>
</html>
4.如何將css拆開,單獨呢?大型項目都是css單獨一個文件夾,里面一大堆css文件。
4.1 建一個fengche.css文件,將下面代碼復制進去,和風車-2.html放在同一個文件夾中。
fengche.css的代碼:
#box {
width: 10px;
height: 10px;
margin: 5px auto;
position: relative;
}
#main {
width: 400px;
height: 400px;
animation: dfc 1s linear infinite;
}
/*這是css的注釋方法*/
/*風車的每一扇葉的設置,因為4個扇葉的設置是一樣的,所以用這樣*/
/*4個扇葉的共性設置*/
.css1,
.css2,
.css3,
.css4 {
width: 200px;
height: 100px;
border: 1px solid blue;
border-radius: 100px 100px 0 0;
position: absolute;
/*4個扇葉的顏色漸變設置*/
background-image: linear-gradient(green, yellow);
}
/*扇葉1的個性設置*/
.css1 {
top: 100px;
}
/*扇葉2的個性設置*/
.css2 {
top: 50px;
left: 150px;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
/*扇葉3的個性設置*/
.css3 {
top: 200px;
left: 200px;
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
/*扇葉4的個性設置*/
.css4 {
top: 250px;
left: 50px;
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-o-transform: rotate(270deg);
transform: rotate(270deg);
}
/*中間的圓形的設置*/
.ssss {
width: 100px;
height: 100px;
border-radius: 100%;
position: absolute;
top: 150px;
left: 150px;
z-index: 10;
/*請注意下面css的顏色設置,可以是小寫的英文字母,也可以是大寫的,還可以是十六進制*/
/*中間圓的漸變顏色設置*/
background-image: radial-gradient(pink, blue);
}
/*風車的豎直桿的設置*/
.hhh {
width: 2px;
height: 250px;
background-image: radial-gradient(black, RED);
position: absolute;
top: 200px;
left: 199px;
z-index: -1;
}
/*運動的功能定義*/
@keyframes dfc {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
25% {
-webkit-transform: rotate( 90deg);
-moz-transform: rotate( 90deg);
-ms-transform: rotate( 90deg);
-o-transform: rotate( 90deg);
transform: rotate( 90deg);
}
50% {
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
}
75% {
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-o-transform: rotate(270deg);
transform: rotate(270deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
4.2 風車-2.html的代碼:注意修改部分。
<!DOCTYPE html>
<html>
<html lang="en"-->
<head>
<meta charset="UTF-8">
<title>大風車DIY2</title>
<!--注意放在同一個文件夾下,本機是deepin的linux系統,win可能不同-->
<link rel="stylesheet" href="./fengche.css" />
</head>
<body>
<div id="box">
<div id="main">
<div class="css1"></div>
<div class="css2"></div>
<div class="css3"></div>
<div class="css4"></div>
<div class="ssss"></div>
</div>
<div class="hhh"></div>
</div>
</body>
</html>
怎么樣?通俗易懂吧,看了后,立馬入門。
https://blog.csdn.net/u013558749/article/details/82257168 (element-ui 實現行合并)
https://www.cnblogs.com/guwufeiyang/p/12850088.html (合并后樣式的處理)
合并后樣式
[
{
"processId": "1499255834195238914",
"currentProcessInfoId": "1499255834245570561",
"flowType": "01",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "01",
"dimensionName": "重點-測試",
"dimensionTag": "1499255834195238914重點-測試",
"nature": "01",
"name": "1212",
"statusRemark": "1212",
"scoreStand": "1212",
"source": "1212",
"weight": 0.3,
"status": "Y",
"remark": "-",
"index": 1,
"rowIndex": 0
},
{
"processId": "1499255834195238914",
"currentProcessInfoId": "1499255834245570561",
"flowType": "01",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "01",
"dimensionName": "日常-測試",
"dimensionTag": "1499255834195238914日常-測試",
"nature": "01",
"name": "TEST",
"statusRemark": "100",
"scoreStand": "100",
"source": "100",
"weight": 0.3,
"status": "Y",
"remark": "-",
"index": 1,
"rowIndex": 1
},
{
"processId": "1499255834195238914",
"currentProcessInfoId": "1499255834245570561",
"flowType": "01",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "01",
"dimensionName": "日常-測試",
"dimensionTag": "1499255834195238914日常-測試",
"nature": "01",
"name": "12",
"statusRemark": "12",
"scoreStand": "12",
"source": "12",
"weight": 0.3,
"status": "Y",
"remark": "-",
"index": 1,
"rowIndex": 2
},
{
"processId": "1499255834195238914",
"currentProcessInfoId": "1499255834245570561",
"flowType": "01",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "01",
"dimensionName": "管理指標",
"dimensionTag": "1499255834195238914管理指標",
"nature": "02",
"name": "12",
"statusRemark": "12",
"scoreStand": "12",
"source": "12",
"weight": 0.1,
"status": "Y",
"remark": "-",
"index": 1,
"rowIndex": 3
},
{
"processId": "1499255834996350977",
"currentProcessInfoId": null,
"flowType": "02",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "00",
"dimensionName": "重點-測試",
"dimensionTag": "1499255834996350977重點-測試",
"nature": "01",
"name": "1212",
"statusRemark": "1212",
"scoreStand": "1212",
"source": "1212",
"weight": 0.3,
"status": "-",
"remark": "-",
"index": 2,
"rowIndex": 4
},
{
"processId": "1499255834996350977",
"currentProcessInfoId": null,
"flowType": "02",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "00",
"dimensionName": "日常-測試",
"dimensionTag": "1499255834996350977日常-測試",
"nature": "01",
"name": "TEST",
"statusRemark": "100",
"scoreStand": "100",
"source": "100",
"weight": 0.3,
"status": "-",
"remark": "-",
"index": 2,
"rowIndex": 5
},
{
"processId": "1499255834996350977",
"currentProcessInfoId": null,
"flowType": "02",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "00",
"dimensionName": "日常-測試",
"dimensionTag": "1499255834996350977日常-測試",
"nature": "01",
"name": "12",
"statusRemark": "12",
"scoreStand": "12",
"source": "12",
"weight": 0.3,
"status": "-",
"remark": "-",
"index": 2,
"rowIndex": 6
},
{
"processId": "1499255834996350977",
"currentProcessInfoId": null,
"flowType": "02",
"userName": "xxx",
"itcode": "xxx",
"pernr": "xxx",
"approveStatus": "00",
"dimensionName": "管理指標",
"dimensionTag": "1499255834996350977管理指標",
"nature": "02",
"name": "12",
"statusRemark": "12",
"scoreStand": "12",
"source": "12",
"weight": 0.1,
"status": "-",
"remark": "-",
"index": 2,
"rowIndex": 7
}
]
// 按照dimensionTag合并行
getDimensionNumber() {
this.dimensionIndexArr = []
let DimensionObj = {}
this.dataList.forEach((element, index) => {
element.rowIndex = index
if (DimensionObj[element.dimensionTag]) {
DimensionObj[element.dimensionTag].push(index)
} else {
DimensionObj[element.dimensionTag] = []
DimensionObj[element.dimensionTag].push(index)
}
})
for (let k in DimensionObj) {
if (DimensionObj[k].length > 1) {
this.dimensionIndexArr.push(DimensionObj[k])
}
}
},
// 按照processId合并行
getRecordNumber() {
this.recordIndexArr=[]
let OrderObj = {}
this.dataList.forEach((element, index) => {
element.rowIndex = index
if (OrderObj[element.processId]) {
OrderObj[element.processId].push(index)
} else {
OrderObj[element.processId] = []
OrderObj[element.processId].push(index)
}
})
for (let k in OrderObj) {
if (OrderObj[k].length > 1) {
this.recordIndexArr.push(OrderObj[k])
}
}
},
objectSpanMethod({row, column, rowIndex, columnIndex}) {
if (columnIndex === 0 || columnIndex === 1 || columnIndex >= 9) {
for (let i = 0; i < this.recordIndexArr.length; i++) {
let element = this.recordIndexArr[i]
for (let j = 0; j < element.length; j++) {
let item = element[j]
if (rowIndex == item) {
if (j == 0) {
return {
rowspan: element.length,
colspan: 1
}
} else if (j != 0) {
return {
rowspan: 0,
colspan: 0
}
}
}
}
}
}
if (columnIndex === 2) {
for (let i = 0; i < this.dimensionIndexArr.length; i++) {
let element = this.dimensionIndexArr[i]
for (let j = 0; j < element.length; j++) {
let item = element[j]
if (rowIndex == item) {
if (j == 0) {
return {
rowspan: element.length,
colspan: 1
}
} else if (j != 0) {
return {
rowspan: 0,
colspan: 0
}
}
}
}
}
}
},
樣式錯亂
<el-table
ref="table"
v-loading="dataListLoading"
:data="dataList"
border
:span-method="objectSpanMethod"
:row-class-name="tableRowClassName"
@cell-mouse-enter="cellMouseEnter"
@cell-mouse-leave="cellMouseLeave"
style="width: 100%;margin-top: 16px"
>
.......
</el-table>
tableRowClassName({row, rowIndex}) {
let arr = this.hoverOrderArr
for (let i = 0; i < arr.length; i++) {
if (rowIndex === arr[i]) {
return 'success-row'
}
}
},
cellMouseEnter(row, column, cell, event) {
this.rowIndex = row.rowIndex
this.hoverOrderArr = []
this.recordIndexArr.forEach((element) => {
if (element.indexOf(this.rowIndex) >= 0) {
this.hoverOrderArr = element
}
})
},
cellMouseLeave(row, column, cell, event) {
this.rowIndex = '-1'
this.hoverOrderArr = []
},
<style scoped>
/deep/ .el-table .success-row {
background: #ecf4fe;
}
</style>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。