디자인을 하다보면 생각치도 못한 사항을 요청하는 고객사들을 종종 만날 수 있다. 이번에는 HTML 표<table>의 테이블에 사선을 그어줄 수 있냐는 요청을 받았다. 그래서 찾아봤다. 역시나 HTML이나 CSS에서 직접적으로 제공해 주는 부분은 없고 편법을 이용해야하는데, 아래와 같은 3가지 방법을 찾아볼 수 있었다.
1) SVG를 활용하여 백그라운드에 그리는 방법
2) border값을 이용하는 방법
3) background-image의 linear-gradient를 사용하는 방법
1)과 2)번으로도 테스트를 해본 결과 사선을 매우 잘 나타낼 수 있었다. 그중 백그라운드를 활용한 방법은 테이블의 칸 사이즈 조절에 상관없이 대응이 가능하다. 그러나 나는 어떠한 소스도 필요 없이 순수 CSS만을 사용할 수 있는 장점을 지닌 3)을 이용해보려고한다.
1. <th>,<td>에 CSS로 대각선
See the Pen Untitled by kihyun (@hidesigner2) on CodePen.
백그라운드 그라디언트로 이런 효과를 낼 수 있다는게 놀랍다! 정말 사람들의 잔머리는 최고다. 반대로 사선을 그리고 싶은 경우엔 background의 방향을 to right bottom 에서 to left bottom 으로 변경해주면 된다.
이 방법의 단점은,
선이 약간 굵고 선명하지 않다는 점이다.
지원사양
백그라운드 이미지의 그라디언트를 이용하는 방법이기 때문에 지원사양도 괜찮은 편이다. 크롬 엣지 사파리 파이어폭스 오페라 그리고 ie 까지.
'CSS HTML JS' 카테고리의 다른 글
CSS로 스크롤바 디자인 바꾸는 방법 :: Edge, Chrom, Opera AND Firefox까지! (0) | 2023.01.09 |
---|---|
움직이는 애니메이션 png, APNG 이란? (0) | 2023.01.06 |
CSS Flex 기본 개념 정리 (0) | 2022.10.08 |
스크롤 이동시키는 방법 :: $(window).scrollTop() :: scrollTo() (1) | 2022.10.07 |
순수 HTML CSS만을 이용한 타이핑 애니메이션 효과 만들기 (0) | 2022.02.14 |