Forgot password?
 Create new account
View 147|Reply 13

HTML折叠块

[Copy link]

3150

Threads

8482

Posts

610K

Credits

Credits
66119
QQ

Show all posts

hbghlyj Posted at 6 days ago |Read mode
Last edited by hbghlyj at 6 days ago如何创建一个可折叠的内容块

701

Threads

110K

Posts

910K

Credits

Credits
94165
QQ

Show all posts

kuing Posted at 6 days ago
现成的 details 不能满足要求么?

418

Threads

1627

Posts

110K

Credits

Credits
11885

Show all posts

abababa Posted at 6 days ago
maven教过,我还记过这个,如下,有一个动画的,然后右边那个三角号,就是content: '>';,可以自己换成别的东西。
  1. <details>
  2.         <summary>show/hide</summary>
  3.         <p>text</p>
  4. </details>
  5. <style>
  6. details > summary::marker {
  7.         content: none;
  8. }
  9. summary::after {
  10.         content: '>';
  11.         margin-left: 1px;
  12.         position:absolute;
  13.         transition: transform 0.2s;
  14. }
  15. details:not([open]) summary::after {
  16.         transform: rotate(90deg);
  17. }
  18. </style>
Copy the Code

701

Threads

110K

Posts

910K

Credits

Credits
94165
QQ

Show all posts

kuing Posted at 6 days ago
试一下楼上的
show/hide

text

701

Threads

110K

Posts

910K

Credits

Credits
94165
QQ

Show all posts

kuing Posted at 6 days ago
感觉和我们已经设有 details 这个的 bbcode 的差别就是>旋转的时候有个转动的动画而已。
标题
内容

以上代码为
  1. [details=标题]内容[/details]
Copy the Code

418

Threads

1627

Posts

110K

Credits

Credits
11885

Show all posts

abababa Posted at 6 days ago
kuing 发表于 2025-4-13 19:01
感觉和我们已经设有 details 这个的 bbcode 的差别就是>旋转的时候有个转动的动画而已。

以上代码为 ...
是那个'>'的只是一个文字符号,但是有了这个,就可以换成图标了,像主楼的那种图标样式的:
  1. summary::after {
  2.         content: '';
  3.         display: inline-block;
  4.         background-image: url('arrow.jpg');
  5.         width:48px;
  6.         height:48px;
  7.         background-size:contain;
  8.         margin-left: 50px;
  9.         position:absolute;
  10.         transition: transform 0.2s;
  11. }
  12. details:not([open]) summary::after {
  13.         transform: rotate(180deg);
  14. }
Copy the Code


这里用了一个arrow.jpg,是一个箭头向下的图标,然后动画角度调一下,就变成上下的了。

我觉得这些都是好看但不重要的功能,不实用

701

Threads

110K

Posts

910K

Credits

Credits
94165
QQ

Show all posts

kuing Posted at 6 days ago
abababa 发表于 2025-4-13 21:08
是那个'>'的只是一个文字符号,但是有了这个,就可以换成图标了,像主楼的那种图标样式的:
用 jpg 多低级,现在都用 SVG 画的😋

701

Threads

110K

Posts

910K

Credits

Credits
94165
QQ

Show all posts

kuing Posted at 5 days ago
Last edited by kuing at 5 days ago临时学习一下 CSS 的 transition 用法……

点击展开查看详情
简略提要 ...
详细的文本内容,包含更多补充信息和说明。 \[\sum\sqrt{\frac a{b+c}}\] 公式也没问题。

tikz 画图也行,试下列表
  • 详细条目 1
  • 详细条目 2
  • 详细条目 3
bla bla bla ...

(记录注意细节防止忘记:
箭头那里需要设置 display:block / inline-block 或 position:absolute; 否则不会旋转;
由 display:none 变成显示似乎会与透明度渐变冲突(没有渐变效果),有待搞清楚;
……

701

Threads

110K

Posts

910K

Credits

Credits
94165
QQ

Show all posts

kuing Posted at 5 days ago
hbghlyj 发表于 2025-4-14 02:32
还是有点用的。使人眼能快速识别出这是一个折叠块。
你打算将现在的 details 这个 bbcode 改成上面这种形式嘛?😳

Comment

没有啊😳  Posted at 5 days ago

418

Threads

1627

Posts

110K

Credits

Credits
11885

Show all posts

abababa Posted at 4 days ago
Last edited by abababa at 4 days ago
kuing 发表于 2025-4-14 02:35
临时学习一下 CSS 的 transition 用法……

   

那个按钮还可以用css来做成主楼那种形状的,然后把背景弄成圆的,怎么转都是圆,就看不出来背景在转,只看到箭头在转了。就下面这种的:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Details</title>
  5. <style>
  6. details > summary {
  7.         list-style: none;
  8.         cursor: pointer;
  9.         padding: 12px 60px 12px 0;
  10.         position: relative;
  11.         border: 1px solid black;
  12. }
  13. summary::after {
  14.         content: '';
  15.         width: 40px;
  16.         height: 40px;
  17.         background: #E0E0E0;
  18.         border-radius: 50%;
  19.         position: absolute;
  20.         right: 10px;
  21.         top: 50%;
  22.         transform: translateY(-50%);
  23.         transition: all 0.3s ease;
  24. }
  25. summary::before {
  26.         content: '';
  27.         width: 20px;
  28.         height: 20px;
  29.         border-left: 4px solid gray;
  30.         border-bottom: 4px solid gray;
  31.         position: absolute;
  32.         right: 30px;
  33.         top: 50%;
  34.         transform:
  35.                 translateX(50%)
  36.                 translateY(-65%)
  37.                 rotate(-45deg);
  38.         z-index: 2;
  39.         transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  40. }
  41. details[open] summary::before {
  42.         transform:
  43.                 translateX(50%)
  44.                 translateY(-35%)
  45.                 rotate(135deg);
  46. }
  47. summary:hover::after {
  48.         background: #E0E0E0;
  49. }
  50. summary:hover::before {
  51.         border-color: #000;
  52.         filter: drop-shadow(0 1px 1px rgba(0,0,0,0.2));
  53. }
  54. </style>
  55. </head>
  56. <body>
  57.         <div style="width: 300px;">
  58.         <details>
  59.                 <summary>show/hide</summary>
  60.                 <p>text</p>
  61.         </details>
  62.         </div>
  63. </body>
  64. </html>
Copy the Code

1

Threads

101

Posts

1753

Credits

Credits
1753

Show all posts

Aluminiumor Posted at 4 days ago
Details
show/hide

text

Comment

楼上代码测试  Posted at 4 days ago

手机版Mobile version|Leisure Math Forum

2025-4-19 17:53 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list