首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML输出不是我所期望的那样。

HTML输出不是我所期望的那样。
EN

Stack Overflow用户
提问于 2014-10-21 10:19:54
回答 2查看 61关注 0票数 0

我在php上遇到了一些麻烦。这是我想要的html:

代码语言:javascript
运行
复制
<p><h1>name</h1>surname</p>

其中名称和姓氏是php中的变量。

我得到的是:

代码语言:javascript
运行
复制
<p></p> <h1>name</h1> "surname" <p></p>

以下是我的php代码:

代码语言:javascript
运行
复制
echo "<p> <h1>{$rowsList['Name']}</h1> {$rowsList['Surname']} </p>";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-21 10:21:38

语义学

基本语义学:

  • <h1>标记用于标题
  • <p>标记用于段落

不能将标题包含在段落中。

它在语义上是无效的,也没有意义。相反,您需要考虑删除周围的<p>标记。

来自其他来源的

StackOverflow

在HTML中将标题元素放入p元素是不可能的,这不仅是形式上的,而且是因为浏览器在遇到标题时隐式地终止了打开的p元素。所以这个问题是没有意义的:一个不能存在于特定上下文中的元素在这个上下文中不可能有任何意义(语义)。 与使用p将文本和标题组合在一起不同,您可以使用div元素,或者使用sectionarticle之类的HTML5新奇元素。

W3C

根据标准,段落不应包含其他块元素(包括段落和标题)。如其他答案所示,若要用段落对标题进行分组,可以使用div标记。 你也可以在W3C的网站:http://www.w3.org/TR/html401/struct/global.html#block-inline上找到很多关于这个主题的信息

解决方案

将PHP代码更改为:

代码语言:javascript
运行
复制
echo "<h1>{$rowsList['Name']}</h1> <p>{$rowsList['Surname']} </p>";

参考文献:

票数 1
EN

Stack Overflow用户

发布于 2014-10-21 10:24:44

这并不是PHP的问题。这是基本的HTML。

根据文档<p>标记可以包含短语内容。

短语内容被定义为:

由与正常字符数据混合的短语元素组成。

短语元素是:

a,em,强,小,标记,abbr,dfn,i,b,s,u,code,var,samp,kbd,sup,sub,q,cite,span,bdo,bdi,br,wbr,ins,del,img,embed,object,iframe,map,area,script,noscript,ruby,视频,音频,输入,文本区域,选择,按钮,标签,输出,数据列表,键盘,进度,命令,画布,时间,

请注意,<h1>不是其中之一。

所有这一切都是为了说明这些文档明确地暗示了(?)该<p><h1>...</h1></p>是无效的,浏览器将纠正它的最佳猜测。应该特别注意的是,如果您右键单击并选择View (或查看原始源代码),那么您将在编写HTML时看到它--只有在DOM检查器中才能看到“更正”版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26484314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档