编码标题/标题的最佳方法是什么?或
      ,就像我们有一样在<表>中?

发布于 2024-08-20 17:37:31 字数 584 浏览 7 评论 0原文

编码

      标题/标题的最佳方法是什么?就像我们在 中有
      一样,我们不想将它们设置为粗体。

这样可以吗?

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

What would be the best method to code heading/title of <ul> or <ol>? Like we have <caption> in <table>, and we don't want to make them bold.

Is this okay?

<p>heading</p>
<ul>
  <li>list item</li>
  <li>list item</li>
  <li>list item</li>
</ul>

Or should headings always be used?

<h3|4|5|6>heading</h3|4|5|6>
<ul>
  <li>list item</li>
  <li>list item</li>
  <li>list item</li>
</ul>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

蘸点软妹酱 2024-08-27 17:37:31

虽然这已经很旧了,但我正在为以后搜索时可能发现这个问题的其他人更新它。

@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 属性中的值。然后您可以轻松地根据您的需要设计它。

与使用 data-* 属性相比,这样做的好处是屏幕阅读器将读取 aria-label 作为列表的“标签”,这在语义上对于您对此数据的预期用途来说是正确的。

注意: IE8 支持 :before 属性,但必须使用单冒号版本(并且必须定义有效的文档类型)。 IE7 不支持 :before,但 Modernizer 或 Selectivizr 应该可以为您解决该问题。所有现代浏览器都支持旧的 :before 语法,但更喜欢使用 ::before 语法。一般来说,处理这个问题的最佳方法是使用旧格式的 IE7/8 外部样式表和使用新格式的通用样式表,但实际上,大多数只使用旧的单冒号格式,因为它仍然是 100% 交叉浏览器,即使技术上对 CSS3 无效。

Though this is old, I'm updating it for others who might find this question when searching later.

@Matt Kelliher:

Using the css :before and a data-* attribute for the list is a great idea, but can be modified slightly to be more handicap accessible as well:

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

This will make a list with the "header" pseudo element above it with text set to the value in the aria-label attribute. You can then easily style it to your needs.

The benefit of this over using a data-* attribute is that aria-label will be read off by screen readers as a "label" for the list, which is semantically correct for your intended use of this data.

Note: IE8 supports :before attributes, but must use the single colon version (and must have a valid doctype defined). IE7 does not support :before, but Modernizer or Selectivizr should fix that issue for you. All modern browsers support the older :before syntax, but prefer that the ::before syntax be used. Generally the best way to handle this is to have an external stylesheet for IE7/8 that uses the old format and a general stylesheet using the new format, but in practice, most just use the old single colon format since it is still 100% cross browser, even if not technically valid for CSS3.

不再让梦枯萎 2024-08-27 17:37:31

始终使用标题标签作为标题。线索就在名称中:)

如果您不希望它们变得粗体,请使用 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;
}

您可以使用

元素,如果它们包含文档的一部分:

<section class=“list-with-heading”>
    <h3>heading</h3>

    <ul>
        <li>list item </li>
        <li>list item </li>
        <li>list item </li>
    </ul>
</section>

则样式如下:

.list-with-heading h3 {
    font-weight: normal;
}

Always use heading tags for headings. The clue is in the name :)

If you don’t want them to be bold, change their style with CSS. For example:

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

You can associate the heading and the list more explicitly by using the <section> element, if they comprise a section of the document:

<section class=“list-with-heading”>
    <h3>heading</h3>

    <ul>
        <li>list item </li>
        <li>list item </li>
        <li>list item </li>
    </ul>
</section>

Then style thus:

.list-with-heading h3 {
    font-weight: normal;
}
一世旳自豪 2024-08-27 17:37:31

我喜欢对列表使用 css :beforedata-* 属性

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

这将创建一个带有标题的列表,该标题可以是任何内容文本被指定为列表的 data-header 属性。然后您可以轻松地根据您的需要设计它。

I like to make use of the css :before and a data-* attribute for the list

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

This will make a list with the header on it that is whatever text is specified as the list's data-header attribute. You can then easily style it to your needs.

不再让梦枯萎 2024-08-27 17:37:31

如何将标题设为具有不同样式的列表元素(如 so

<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 和 li 上设置边距和填充。 这里一个很好的重置CSS。重置边距和填充后,您可以在除标题类之外的列表元素上应用一些边距,以缩进它们。

how about making the heading a list-element with different styles like so

<ul>
 <li class="heading">heading</li>
 <li>list item</li>
 <li>list item</li>
 <li>list item</li>
 <li>list item</li>
</ul>

and the CSS

ul .heading {font-weight: normal; list-style: none;}

additionally, use a reset CSS to set margins and paddings right on the ul and li. here's a good reset CSS. once you've reset the margins and paddings, you can apply some margin on the list-elements other than the one's with the heading class, to indent them.

苍景流年 2024-08-27 17:37:31

是否允许使用

<ul>
  <caption> Title of List </caption>
  <li> Item 1 </li>
  <li> Item 2 </li>
</ul>

Would the use of <caption> be allowed?

<ul>
  <caption> Title of List </caption>
  <li> Item 1 </li>
  <li> Item 2 </li>
</ul>
烛影斜 2024-08-27 17:37:31

h3 绝对是比 h2、h1 或 h6 更好的解决方案!

  1. 你必须使用特定的级别:如果你在 h1 中,使用 h2,如果你在 h5 中,使用 h6(如果你在 h6 中......嗯,使用 Strong 或 em 例如)。这不是一项义务,而是一个可访问性问题 (这里,绿色部分)。

  2. 您不必为列表提供标题...因为该元素不存在。所以屏幕阅读器不会使用特殊的东西。

因此,使用 Hn 可能是最好的解决方案之一,但肯定不是一个特定的级别。

h3 is absolutly a better solution than h2, h1 or h6 !

  1. You have to use specific level : if you're in a h1, use h2, if you're in a h5, use h6 (if you're in a h6... hum, use strong or em for exemple). It not a obligation but a question of accessibility (Here, green part).

  2. You don't have to give title to list... because this element it doesn't exist. So screen reader will not use something special.

Therefore, using Hn is probably one of the best solution, but surely not a specific level.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文