teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

下線じゃなくて枠が希望だったようなので追記

2020/10/22 01:39

投稿

dit.
dit.

スコア3235

answer CHANGED
@@ -1,3 +1,31 @@
1
+ 背景画像として上下左右分の線をlinear-gradientで用意して、元のdivに重ねています。
2
+ [https://www.ameamelog.com/css-dotline/](https://www.ameamelog.com/css-dotline/)をかなり参考にさせていただきました。
3
+ ```html
4
+ <div class="border-bottom">test</div>
5
+ ```
6
+
7
+ ```css
8
+ .border-test::after {
9
+ content: "";
10
+ background-image:
11
+ linear-gradient(to right, #f00, #f00 3px, transparent 3px, transparent 8px, #00f 8px, #00f 11px, transparent 11px, transparent 16px),
12
+ linear-gradient(to right, #f00, #f00 3px, transparent 3px, transparent 8px, #00f 8px, #00f 11px, transparent 11px, transparent 16px),
13
+ linear-gradient(to bottom, #f00, #f00 3px, transparent 3px, transparent 8px, #00f 8px, #00f 11px, transparent 11px, transparent 16px),
14
+ linear-gradient(to bottom, #f00, #f00 3px, transparent 3px, transparent 8px, #00f 8px, #00f 11px, transparent 11px, transparent 16px);
15
+ background-size: 16px 1px, 16px 1px, 1px 16px, 1px 16px;
16
+ background-position: left top, left bottom, left top, right top;
17
+ background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
18
+ position: absolute;
19
+ top: 0;
20
+ bottom: 0;
21
+ left: 0;
22
+ right: 0;
23
+ pointer-events: none;
24
+ }
25
+ ```
26
+ ---
27
+
28
+ 以下元の回答(下線の場合)
1
29
  `linear-gradient`を利用した背景をx方向に並べることでそれっぽくなると思います。
2
30
  線分の長さや太さは各数字を調整すれば変更できます。
3
31
  いろいろいじってみてください。