1

鉴于<label>and<span>是内联元素并且<ol>是块元素,<ol>使用脚本在跨度/标签内嵌套的正确方法是什么?

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 有效的。

4

3 回答 3

0
<!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>
于 2011-09-04T20:57:49.617 回答
0

由于没有人回答,我会刺伤:

使用跨度手动创建列表


   <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>

你在 CSS 中看到的每一个地方ol{...}li{...}你都必须插入这个类;ol,.ol{...}li,.li{...}。此外,.ol可能需要有display:block;

换行符可能会被清除替换,但这完全不在我的脑海中,没有测试。

于 2010-11-29T18:58:20.263 回答
0

可以使用 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属性是块级:

MAP 元素内容模型允许作者组合以下内容:

  1. 一个或多个 AREA 元素。这些元素没有内容,但指定了图像映射的几何区域以及与每个区域关联的链接。请注意,用户代理通常不会呈现 AREA 元素。因此,作者必须为每个带有 alt 属性的区域提供替代文本(有关如何指定替代文本的信息,请参见下文)。
  2. 块级内容。此内容应包括指定图像映射的几何区域以及与每个区域关联的链接的 A 元素。请注意,用户代理应该呈现 MAP 元素的块级内容。作者应该使用这种方法来创建更易于访问的文档。
于 2011-04-14T17:52:39.853 回答