对于<ul>或<ol>来说,编码标题/标题的最好方法是什么?就像我们在<table>中有<caption>?
编码<ul>
或<ol>
标题/标题最好的方法是什么? 就像我们在<table>
有<caption>
一样,我们不想让它们变成粗体。
这个可以吗?
<p>heading</p> <ul> <li>list item</li> <li>list item</li> <li>list item</li> </ul>
还是应该总是使用标题?
<h3|4|5|6>heading</h3|4|5|6> <ul> <li>list item</li> <li>list item</li> <li>list item</li> </ul>
始终为标题使用标题标签。 线索是在名称:)
如果你不想让他们变得大胆,用CSS改变他们的风格。 例如:
HTML:
<h3 class="list-heading">heading</h3> <ul> <li>list item </li> <li>list item </li> <li>list item </li> </ul>
CSS
.list-heading { font-weight: normal; }
在HTML5中,您可以使用<section>
元素更清楚地关联标题和列表。 (尽pipe在IE8和更早版本中, <section>
不能正常工作,但是没有一些JavaScript。)
<section> <h1>heading</h1> <ul> <li>list item </li> <li>list item </li> <li>list item </li> </ul> </section>
你可以在HTML 4中做类似的事情:
<div class="list-with-heading"> <h3>Heading</h3> <ul> <li>list item </li> <li>list item </li> <li>list item </li> </ul> </div>
然后风格如此:
.list-with-heading h3 { font-weight: normal; }
虽然这是旧的,我正在更新为其他谁可能会发现这个问题,当以后search。
@Matt Kelliher:
为列表使用css :before和data- *属性是一个好主意,但可以稍微修改以便更容易访问:
HTML:
<ul aria-label="Vehicle Models Available:"> <li>Dodge Shadow</li> <li>Ford Focus</li> <li>Chevy Lumina</li> </ul>
CSS:
ul:before{ content:attr(aria-label); font-size:120%; font-weight:bold; margin-left:-15px; }
这将使列表中的“header”伪元素与文本设置为aria-label属性中的值。 然后,您可以轻松地devise您的需求。
使用data- *属性的好处在于,屏幕阅读器会将aria-label作为列表的“标签”读取,这对于您预期的数据使用而言,在语义上是正确的。
注: IE8支持:在属性之前,但必须使用单个冒号版本(并且必须定义有效的文档types)。 IE7不支持:以前,但Modernizer或Selectivizr应该为您解决这个问题。 所有现代浏览器都支持较早的语法:before语法,但更喜欢使用:: before语法。 一般来说,处理这个问题的最好办法是为IE7 / 8提供一个使用旧格式的外部样式表和一个使用新格式的通用样式表,但实际上,大多数情况下只使用旧的单一冒号格式,因为它仍然是100%交叉浏览器,即使在技术上对CSS3没有效果。
我喜欢使用css :before
和data-*
属性作为列表
HTML:
<ul data-header="heading"> <li>list item </li> <li>list item </li> <li>list item </li> </ul>
CSS:
ul:before{ content:attr(data-header); font-size:120%; font-weight:bold; margin-left:-15px; }
这将创build一个列表,其上的标题是无论指定哪个文本作为列表的data-header
属性。 然后,您可以轻松地devise出您的需求。
如何使标题为不同风格的列表元素如此
<ul> <li class="heading">heading</li> <li>list item</li> <li>list item</li> <li>list item</li> <li>list item</li> </ul>
和CSS
ul .heading {font-weight: normal; list-style: none;}
此外,使用复位CSS来设置边缘和填充正确的UL和李。 这是一个很好的重置CSS。 一旦你重置了边距和填充,你可以在列表元素上应用一些边界,而不是使用标题类来缩进它们。
h3绝对是比h2,h1或h6更好的解决scheme!
-
你必须使用特定的级别:如果你在一个h1,使用h2,如果你在一个h5,使用h6(如果你在一个h6 …嗡嗡声,使用强或em例如)。 这不是一个义务,而是一个无障碍的问题( 在这里,绿色部分 )。
-
你不必为列表提供标题…因为这个元素不存在。 所以屏幕阅读器不会使用一些特殊的东西
因此,使用Hn可能是最好的解决scheme之一,但肯定不是一个特定的级别。