使用案例
在哪些情况时会用到 <details>?FAQ表可能是我们最先涌现的想法。大家经常使用手风琴效果是用在FAQ列表,所以 <details> 是这一效果的最佳效果。 考虑到这一系列内容,它可能被固定在某一区域,当我们滚动内容的时候。像这样子? 你也可以使用<details>来操作博客的评论内容,用户简介,下载列表,复杂的表单,或者像规范中描述下面的应用:
An example of the <details> element from the spec
实际上,只要你看看我写的wordpress,会发现有大量的使用 <details>的机会。让我们在评论中了解一下你的观点和想法。
样式格式化
你如何对这个定义样式?同时,在webkit浏览器中我们可以使用伪类样式 ::-webkit-details-marker 。你可以看到这个小的案例:
1
2
3
4
5
|
details summary::-webkit-details-marker {
background: red;
color: #fff;
font-size: 500%;
}
|
我们也可以将这个小组件定位。这里是向右浮动的这就是我们初始化效果。 我们如何将默认的组件Icon自定义呢?那就是用 属性选择器 (attribute selector),你可以用来检测 <details>元素是打开的还是关闭的,然后为其定义一个合适的背景图片。我们咋下面的例子中作了一个类似的效果,使用 :after pseudo-element 元素定义成我们喜欢的背景图片:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
summary::-webkit-details-marker {
display: none
}
summary:after {
background: red;
border-radius: 5px;
content: "+";
color: #fff;
float: left;
font-size: 1.5em;
font-weight: bold;
margin: -5px 10px 0 0;
padding: 0;
text-align: center;
width: 20px;
}
details[open] summary:after {
content: "-";
}
|
|