📊 엑셀 스타일 테이블 완성 - 동적 컬럼 너비
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled

- 모든 카테고리에 minmax() 적용으로 내용에 맞게 컬럼 자동 확장
- 헤더와 본문에 동일한 padding: 6px 4px 적용
- 모든 margin 제거하고 순수 grid로 구성
- materials-grid에 외곽 border 추가
- 엑셀처럼 명확한 셀 구분선
- 텍스트가 길어도 잘리지 않고 컬럼이 자동 확장됨
This commit is contained in:
Hyungi Ahn
2025-10-13 15:25:11 +09:00
parent 0ed1047839
commit fa032e95c6

View File

@@ -330,7 +330,7 @@
/* PIPE 전용 헤더 - 9개 컬럼 */
.detailed-grid-header.pipe-header {
grid-template-columns: 60px 90px 130px 80px 100px 250px 120px 200px 100px !important;
grid-template-columns: 60px 90px minmax(130px, auto) 80px 100px minmax(200px, auto) 120px minmax(180px, auto) 100px !important;
}
.detailed-grid-header.pipe-header > div,
@@ -345,7 +345,7 @@
/* PIPE 전용 행 - 9개 컬럼 */
.detailed-material-row.pipe-row {
grid-template-columns: 60px 90px 130px 80px 100px 250px 120px 200px 100px !important;
grid-template-columns: 60px 90px minmax(130px, auto) 80px 100px minmax(200px, auto) 120px minmax(180px, auto) 100px !important;
}
.detailed-material-row.pipe-row .material-cell {
@@ -358,7 +358,7 @@
/* SPECIAL 전용 헤더 - 10개 컬럼 */
.detailed-grid-header.special-header {
grid-template-columns: 60px 90px 150px 80px 100px 200px 120px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(150px, auto) 80px 100px minmax(180px, auto) 120px 120px minmax(180px, auto) 100px;
}
@@ -375,21 +375,21 @@
/* SPECIAL 전용 행 - 10개 컬럼 */
.detailed-material-row.special-row {
grid-template-columns: 60px 90px 150px 80px 100px 200px 120px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(150px, auto) 80px 100px minmax(180px, auto) 120px 120px minmax(180px, auto) 100px;
}
/* BOLT 전용 헤더 - 9개 컬럼 */
.detailed-grid-header.bolt-header {
grid-template-columns: 60px 90px 130px 80px 100px 250px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(130px, auto) 80px 100px minmax(200px, auto) 120px minmax(180px, auto) 100px;
}
/* BOLT 전용 행 - 9개 컬럼 */
.detailed-material-row.bolt-row {
grid-template-columns: 60px 90px 130px 80px 100px 250px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(130px, auto) 80px 100px minmax(200px, auto) 120px minmax(180px, auto) 100px;
}
@@ -428,14 +428,14 @@
/* U-BOLT 전용 헤더 - 8개 컬럼 */
.detailed-grid-header.ubolt-header {
grid-template-columns: 60px 90px 130px 80px 200px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(130px, auto) 80px minmax(180px, auto) 120px minmax(180px, auto) 100px;
}
/* U-BOLT 전용 행 - 8개 컬럼 */
.detailed-material-row.ubolt-row {
grid-template-columns: 60px 90px 130px 80px 200px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(130px, auto) 80px minmax(180px, auto) 120px minmax(180px, auto) 100px;
}
@@ -476,14 +476,14 @@
/* SUPPORT 전용 헤더 - 9개 컬럼 */
.detailed-grid-header.support-header {
grid-template-columns: 60px 90px 150px 80px 100px 200px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(150px, auto) 80px 100px minmax(180px, auto) 120px minmax(180px, auto) 100px;
}
/* SUPPORT 전용 행 - 9개 컬럼 */
.detailed-material-row.support-row {
grid-template-columns: 60px 90px 150px 80px 100px 200px 120px 200px 100px;
grid-template-columns: 60px 90px minmax(150px, auto) 80px 100px minmax(180px, auto) 120px minmax(180px, auto) 100px;
}
@@ -520,7 +520,7 @@
/* 플랜지 전용 헤더 - 10개 컬럼 */
.detailed-grid-header.flange-header {
grid-template-columns: 60px 90px 100px 80px 100px 100px 180px 100px 200px 100px;
grid-template-columns: 60px 90px minmax(100px, auto) 80px 100px 100px minmax(180px, auto) 100px minmax(180px, auto) 100px;
}
@@ -537,7 +537,7 @@
/* 플랜지 전용 행 - 10개 컬럼 */
.detailed-material-row.flange-row {
grid-template-columns: 60px 90px 100px 80px 100px 100px 180px 100px 200px 100px;
grid-template-columns: 60px 90px minmax(100px, auto) 80px 100px 100px minmax(180px, auto) 100px minmax(180px, auto) 100px;
}
@@ -552,7 +552,7 @@
/* 피팅 전용 헤더 - 10개 컬럼 */
.detailed-grid-header.fitting-header {
grid-template-columns: 60px 90px 180px 80px 80px 100px 180px 100px 200px 100px;
grid-template-columns: 60px 90px minmax(180px, auto) 80px 80px 100px minmax(180px, auto) 100px minmax(180px, auto) 100px;
}
@@ -569,7 +569,7 @@
/* 피팅 전용 행 - 10개 컬럼 */
.detailed-material-row.fitting-row {
grid-template-columns: 60px 90px 180px 80px 80px 100px 180px 100px 200px 100px;
grid-template-columns: 60px 90px minmax(180px, auto) 80px 80px 100px minmax(180px, auto) 100px minmax(180px, auto) 100px;
}
@@ -584,7 +584,7 @@
/* 밸브 전용 헤더 - 9개 컬럼 (스케줄 제거, 타입 너비 증가) */
.detailed-grid-header.valve-header {
grid-template-columns: 60px 180px 120px 80px 80px 180px 100px 200px 100px;
grid-template-columns: 60px minmax(180px, auto) 120px 80px 80px minmax(180px, auto) 100px minmax(180px, auto) 100px;
}
@@ -601,7 +601,7 @@
/* 밸브 전용 행 - 9개 컬럼 (스케줄 제거, 타입 너비 증가) */
.detailed-material-row.valve-row {
grid-template-columns: 60px 180px 120px 80px 80px 180px 100px 200px 100px;
grid-template-columns: 60px minmax(180px, auto) 120px 80px 80px minmax(180px, auto) 100px minmax(180px, auto) 100px;
}
@@ -616,7 +616,7 @@
/* 가스켓 전용 헤더 - 11개 컬럼 (타입 좁게, 상세내역 넓게, 두께 추가) */
.detailed-grid-header.gasket-header {
grid-template-columns: 60px 90px 100px 80px 80px 120px 200px 80px 100px 200px 100px;
grid-template-columns: 60px 90px minmax(100px, auto) 80px 80px minmax(120px, auto) minmax(180px, auto) 80px 100px minmax(180px, auto) 100px;
}
@@ -633,7 +633,7 @@
/* 가스켓 전용 행 - 11개 컬럼 (타입 좁게, 상세내역 넓게, 두께 추가) */
.detailed-material-row.gasket-row {
grid-template-columns: 60px 90px 100px 80px 80px 120px 200px 80px 100px 200px 100px;
grid-template-columns: 60px 90px minmax(100px, auto) 80px 80px minmax(120px, auto) minmax(180px, auto) 80px 100px minmax(180px, auto) 100px;
}
@@ -861,7 +861,7 @@
/* UNKNOWN 전용 헤더 - 5개 컬럼 */
.detailed-grid-header.unknown-header {
grid-template-columns: 60px 100px 1fr 200px 100px;
grid-template-columns: 60px 100px 1fr minmax(180px, auto) 100px;
}
@@ -878,7 +878,7 @@
/* UNKNOWN 전용 행 - 5개 컬럼 */
.detailed-material-row.unknown-row {
grid-template-columns: 60px 100px 1fr 200px 100px;
grid-template-columns: 60px 100px 1fr minmax(180px, auto) 100px;
}