W3C验证:标签中的订购列表元素
-
28-09-2019 - |
题
鉴于事实 <label>
和 <span>
是内联元素和 <ol>
是一个块元素,什么是筑巢的正确方法 <ol>
使用脚本在带有w/o的跨度/标签中?
input { vertical-align: top; }
label { display: block; }
label + label { margin-top: 1em; }
ol { padding:0; margin:0; }
<label for="foo">
<input id="foo" type="checkbox" />
<span style="padding-left: 1em; display:inline-block;">
<ol>
<li>Boat</li>
<li>Jet</li>
<li>Chopper</li>
</ol>
</span>
</label>
<label for="bar">
<input id="bar" type="checkbox" />
<span style="padding-left: 1em; display:inline-block;">
<ol>
<li>Car</li>
<li>Auto</li>
</ol>
</span>
</label>
目的是拥有一个自动排序列表,该列表不取决于JavaScript,该列表也被认为是W3C XHTML有效的。
解决方案
你 可以 使用ImageMap(map
)包含您的列表,但这可能滥用 map
标签。
我的意思是以下内容:
<label for="foo" style="padding:1em;display:inline-block;">
<map id="foolist">
<ol>
<li>1</li>
<li>2</li>
<li>3</li>
</ol>
</map>
</label>
<input name="foo" id="foo" type="checkbox" />
编辑:W3C指出 map
属性是块级别:
地图元素内容模型允许作者组合以下内容:
- 一个或多个区域元素。这些元素没有内容,但指定图像图的几何区域以及与每个区域关联的链接。请注意,用户代理通常不会呈现区域元素。因此,作者必须使用ALT属性为每个区域提供替代文本(有关如何指定替代文本的信息,请参见下文)。
- 块级内容。 该内容应包括指定图像图的几何区域以及与每个区域关联的链接的元素。请注意,用户代理应渲染地图元素的块级内容。作者应使用此方法来创建更多可访问的文档。
其他提示
由于没有人回答我,我会刺伤:
使用跨度手动创建列表
<label for="foo">
<span style="padding:1em;display:inline-block;">
<span class="ol">
<br /><span class="li">1. 1</span>
<br /><span class="li">2. 2</span>
<br /><span class="li">3. 3</span>
</span>
</span>
</label>
您看到的每个地方 ol{...}
或者 li{...}
在CSS中,您必须插入课程; ol,.ol{...}
和 li,.li{...}
. 。此外, .ol
可能需要 display:block;
线路断裂可能会被清晰的替代,但这全是我的头顶,没有测试。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>foo</title>
<style type="text/css">
/*<![CDATA[*/
span.c1 {padding:1em;display:inline-block;}
/*]]>*/
</style>
</head>
<body>
<ol>
<li><label for="foo"><span class="c1">1</span></label></li>
<li><label for="foo"><span class="c1">2</span></label></li>
<li><label for="foo"><span class="c1">3</span></label></li>
</ol>
</body>
</html>
不隶属于 StackOverflow