在下面的html代码中,del标签删除了下一个标签:
<?xml version="1.0" encoding="UTF-8"?>
<!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="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<div>
<del><p /></del>
<strong>Why is this text marked strikethrough?</strong>
</div>
</body>
</html>
如何解决此问题?
Fix1:.html文件在本地出现此问题。将文件重命名为.xhtml解决此问题。
Fix2:在服务器端,可以从the服务器返回正确的内容类型。
发布于 2020-05-20 17:43:00
您将XHTML文档作为text/html
提供服务,因此浏览器将根据HTML解析规则对其进行解析。
<p />
中的/
将被视为错误并被丢弃,进一步的错误恢复将把强元素放入段落中。
您需要使用application/xhtml+xml
内容类型的HTTP响应头来提供XHTML以便浏览器正确地解析它。
XHTML或多或少已经死了,尤其是在浏览器中使用客户端的时候。改写HTML5。
https://stackoverflow.com/questions/61910702
复制