- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在很多关于展示标签的文章中发现了很多不同的观点,with some people thinking all tags are presentational , 但其他一些人不这么认为。
例如:在HTML 5规范中,他们不认为<small>
是介绍性的。
在这个标签列表中——所有 HTML 5 都支持——哪些标签是展示性的,哪些不是?
<abbr>
<address>
<area>
<b>
<bdo>
<blockquote>
<br>
<button>
<cite>
<dd>
<del>
<dfn>
<dl>
<dt>
<em>
<hr>
<i>
<ins>
<kbd>
<map>
<menu>
<pre>
<q>
<samp>
<small>
<span>
<strong>
<sub>
<sup>
<var>
谁决定哪些 HTML 标记是展示性的,哪些不是?他们是如何做出决定的?它是一个像 W3C 这样特别大的团体,还是基于网络开发者团体,即网络社区?此外,在这两者之间,我们应该遵循哪些建议来决定哪些标签是展示性的?
如果根据 W3C 接受的文档类型,标签是有效的,那么不使用任何 xhtml
的优点是什么?从任何 Angular 标记?
从用户/可用性/可访问性的 Angular 来看
如果我们使用更多的 HTML 标签,那么没有 CSS 的页面会更好。
从开发者的 Angular 来看
如果我们在 HTML 中使用更多可用的标签,那么我们就不需要使用 <span class=className">
与 HTML 和 CSS 中的标签相比,它需要更多的时间来编写并且使用更多的字符空间。
例如:
而不是使用:
<span class="boldtext">Some text<span>
.boldtext {font-weight:700}
我们可以使用:
<b>Some text<b>
b {font-weight:700}
它看起来更干净,更容易使用,它使用更少的字符——这将减少页面大小——而且它在源代码中更具可读性。它也没有打破内容和表现分离的规则。
我们还可以这样做:
<b class="important">Some text<b>
b.important {font-weight:700}
每当我们想改变字体粗细时,我们可以改变css
仅在这两个示例中。
如果 w3c 认为标签在其认可的文档类型中有效,那么不使用任何 W3C 或 HTML 规范不直接识别的 X/HTML 表示标签有什么好处?
我们能否在不更改 HTML 中的任何内容的情况下更改任何设计参数?这符合内容和表示分离的模式吗?
如果任何 HTML 标签违反了分隔规则,则 css
不会属性(property)Content
也断了?
看这个article .
为什么 HEIGHT
和 WIDTH
IMG
的属性允许的元素?这不是违反了分离规则吗?可以找到关于这个问题的很好的辩论here .
最佳答案
W3C 决定标签的语义。 HTML5的规范文档给出了各种标签的使用条件。
继续您的示例,使用 <b>
没有任何问题将一些文本加粗,除非:
加粗的文本是一个已经由标签表示的实体:
Incorrect:
<label for="name"><b>Name:</b></label>
Correct: (Use CSS to style the element)
label { font-weight: bold; }
<label for="name">Name:</label>
文本被加粗是为了强调和强调文本 block 中的某个部分或单词。
Incorrect:
<p>HTML has been created to <b>semantically</b> represent documents.</p>
Correct: (Use
<strong>
)<p>HTML has been created to <strong>semantically</strong> represent documents.</p>
以下是正确使用 <b>
的示例标签:
Correct:
<p>You may <b>logout</b> at any time.</p>
我意识到上面的例子和使用 <strong>
的例子似乎没有太大区别。作为正确的例子。简单地解释一下,语义这个词在句子中起着重要的作用,它的重点是通过粗体来加强的,而注销只是为了表达目的而加粗。
以下是不正确的用法。
Incorrect:
<p><b>Warning:</b> Following the procedure described below may irreparably damage your equipment.</p>
Correct: (This is used to add strong emphasis, therefore use
<strong>
)<p><strong>Warning:</strong> Following the procedure described below may irreparably damage your equipment.</p>
使用 <span class="bold">
是标记气味,根本不应该被允许。 <span>
元素用于在通用表示标记(即:<b>
不适用)时在内联元素上应用样式例如使一些文本变为绿色:
Incorrect:
<p>You will also be happy to know <span class="bold">ACME Corp</span> is a <span class="eco-green">certified green</span> company.</p>
Correct: (Explanation below)
<p>You will also be happy to know <b>ACME Corp</b> is a <em class="eco-green">certified green</em> company.</p>
这里是您想要使用 <em>
的原因而不是 <span>
绿色这个词是因为这里的绿色是用来强调 ACME Corp 是一家经过认证的绿色公司这一事实。
以下是使用 <span>
的一个很好的例子标签:
Correct:
<p>You may press <kbd>CTRL+G</hbd> at any time to change your pen color to <span class="pen-green">green</span>.</p>
在这个例子中,单词 green 被设置为绿色只是为了反射(reflect)颜色,而不是添加任何强调 (<em>
) 或强烈强调 (<strong>
)。
关于css - HTML 标签 : Presentational vs Structural,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260205/
let appDelegate = UIKit.UIApplication.shared.delegate! if let tabBarController = appDelegate
我的演示文稿终于成功了。我的第一个屏幕有一个主要的 activity,第二个屏幕有一个 Presentation。我的问题是,我无法更改演示 View 中的内容。 为什么我不能在第二个屏幕上显示演示文
这个问题在这里已经有了答案: ios, getting a pointer to a controller from a view (5 个答案) 关闭 4 年前。 我有一个 uiview 文件,我
我有一个表示小部件的 View 类和一个随附的演示者类。我还有一个 View 类,用于拥有小部件的窗口,以及窗口 View 的随附演示者。窗口操作小部件,所以我需要窗口展示器与小部件展示器进行通信。可
关闭相机后。它给了我这个警告:在演示过程中尝试继续演示! - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picke
由于这个错误,我无法切换到另一个 View Controller 。我想在成功扫描二维码后切换到另一个 View Controller 。 2015-01-27 17:59:16.093 *[5416
有时它会发生 - 从代码的不同地方 - 我们想要做 UIViewController.presentViewController(a, b, c),有时我们已经在呈现了,在这种情况下我们得到: 警告:
这是我的第一个 iOS 应用程序。 所以我有一个 UIVIewController 和一个 UITableView,其中我按顺序集成了一个 UISearchBar 和一个 UISearchContro
我的模式允许一个特定的元素是可选的,但是当我稍后在文件中遇到一个不同的也是可选的元素时,我需要前一个元素存在。我如何通过 XSD 确保这一点? 例子: true 应该是有效的,
我正在使用 xcode 4.5.2 并为相机按钮创建了自己的 OverlayViewController。 现在,当我的委托(delegate) Controller - TakePhotoViewC
如何在 MVP 中创建 View ? Presenter 是否总是创建它们(除了 subview 的 View 之外)?或者它是一个单独的第三方组件或应用程序或创建它们的东西? 我们还要补充一点,我可
当我调用viewController.presentViewController时,如果已经存在另一个 Controller ,则会出现以下警告。 Warning: Attempt to presen
我有一个关于 React Native 的模块,并在这个问题的标题中抛出错误。这是模块的代码,我不知道 swift 或 Objective-C,所以我需要你像“swift for idiots”一样解
我在 didSelectRowAtIndexPath 中选择一个 segue 时收到上面的警告。这发生在 iPad 上。 iPhone 给出了不同的警告,我会看看是否可以解决这个问题。 我在方法中确实
我的应用程序中有一个包含两个场景的 StoryBoard - 它使用自动转场(在 IB 中创建)。当在第一个 UIViewController 中单击按钮时,第二个 UIViewController
如何在成功验证登录后转到我的第二页? 我已经从登录页面 View Controller (不是登录按钮)拉出一个 segue 到下一页,并将该 segue 命名为“nextPage”。 (如果我从登录
我正在构建一个应用程序,最近发现了由传统转场引起的巨大内存泄漏。因此我了解了 unwind segue。如果我简单地使用,一切都很好: @IBAction func prepareForUnw
我不知道如何将按钮添加到 link_to_add_fields 中 在我制作的 Rails 应用程序中。 我尝试在各处添加 class: "btn btn-mini btn-info",但我一直收到
大家好,感谢阅读。我正在制作一个应用程序,您可以在其中拍照并从相机胶卷中检索照片并将其显示在 View 中。问题是,当我尝试使用调出相机胶卷的按钮时,出现如上标题中的错误“演示正在进行中”。 如果我注
我有一个模型,其中有两个字段在技术上可以为空。字段名称是 :is_activated 和 :activated_at。 :activated_at 仅在 :is_activated 设置为 true
我是一名优秀的程序员,十分优秀!