xhtml 相关问题

XHTML,可扩展超文本标记语言,是HTML的一个应用程序,它也是一个有效的XML文档,而不是基于SGML的标准HTML。它是一种常用于HTML页面的标记语言,它是使用基于XML的工具生成的。不要将此标记用于Facelets。请改用[facelets]。

Javascript - 使用innerHTML 输出字符串*不带* HTML 编码的特殊字符?

当通过innerHTML()函数输出内容时,JavaScript似乎会自动将某些特殊字符转换为HTML实体。这是一个问题,因为我需要能够输出<...

回答 4 投票 0

如何缩放 SVG 图像以填充浏览器窗口?

这看起来应该很容易,但我只是没有得到什么。 我想制作一个包含单个 SVG 图像的 HTML 页面,该图像会自动缩放以适合浏览器窗口,而不需要任何

回答 2 投票 0

HTML 文件似乎没有运行我的 PHP

我创建了以下 xhtml 代码来接受输入,然后通过 PHP 文件运行它,然后返回所述输入: ” 我创建了以下 xhtml 代码来接受输入,然后通过 PHP 文件运行它,然后返回所述输入: ” <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css" type="text/css" /> <title>User Input Form</title> </head> <body> <div class="container"> <h2>Please enter user information</h2> <form action="display_user_info.php" method="POST"> <table> <tr> <td><label for="first_name">First Name:</label></td> <td><input type="text" id="first_name" name="first_name" required="required" /></td> </tr> <tr> <td><label for="last_name">Last Name:</label></td> <td><input type="text" id="last_name" name="last_name" required="required" /></td> </tr> <tr> <td><label for="email">Email:</label></td> <td><input type="email" id="email" name="email" required="required" /></td> </tr> <tr> <td><label for="phone">Phone:</label></td> <td><input type="tel" id="phone" name="phone" required="required" /></td> </tr> <tr> <td><label for="address">Address:</label></td> <td><textarea id="address" name="address" required="required"></textarea></td> </tr> <tr> <td><label for="city">City:</label></td> <td><input type="text" id="city" name="city" required="required" /></td> </tr> <tr> <td><label for="state">State:</label></td> <td><input type="text" id="state" name="state" required="required" /></td> </tr> <tr> <td><label for="zip">Zip code:</label></td> <td><input type="text" id="zip" name="zip" required="required" /></td> </tr> <tr> <td colspan="2"> <button type="submit">Submit</button> <button type="reset">Reset</button> </td> </tr> </table> </form> </div> </body> </html> 以及这个 PHP 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css" type="text/css" /> <title>User Information</title> </head> <body> <div class="container"> <h2>User Information</h2> <?php // Process form data if ($_SERVER["REQUEST_METHOD"] == "POST") { $first_name = $_POST["first_name"]; $last_name = $_POST["last_name"]; $email = $_POST["email"]; $phone = $_POST["phone"]; $address = $_POST["address"]; $city = $_POST["city"]; $state = $_POST["state"]; $zip = $_POST["zip"]; // Display user information echo "<p><strong>Name:</strong> $first_name $last_name</p>"; echo "<p><strong>Email:</strong> $email</p>"; echo "<p><strong>Phone:</strong> $phone</p>"; echo "<p><strong>Address:</strong> $address</p>"; echo "<p><strong>City, State, Zip:</strong> $city, $state, $zip</p>"; } ?> </div> </body> </html> 我已将这两个文件放入项目文件夹中,并将该文件夹放入安装 Xammpp 的“Htdocs”文件夹中。如果我单击 html 文件并提交信息,它只会显示原始 php 代码,如果我尝试在浏览器中输入 localhost,则会收到一条错误消息,指出未找到该文件。 我确保 apache 正在运行并且文件位于 htdocs 中,我还创建了一个 test.php 以查看 aapache 是否正常运行。 让我们一步一步来解决这个问题。 首先,将 HTML 文件重命名为 .php 扩展名,例如 index.php。这将告诉 Web 服务器处理文件内的 PHP 代码。 其次,请打开网络浏览器并在地址栏中输入 localhost/project/index.php。这将从 Web 服务器请求文件并执行 PHP 脚本 请注意,/project/ 是您放置文件的目录示例

回答 1 投票 0

使用 MathJax SVG 的 HTML 代码在 XHTML 中不起作用

我有以下test.html: 我有以下test.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/> <title> Test </title> <style id="MJX-SVG-styles"> mjx-container[jax="SVG"] { direction: ltr; } mjx-container[jax="SVG"] > svg { overflow: visible; min-height: 1px; min-width: 1px; } mjx-container[jax="SVG"] > svg a { fill: blue; stroke: blue; } mjx-assistive-mml { position: absolute !important; top: 0px; left: 0px; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0px 0px 0px !important; border: 0px !important; display: block !important; width: auto !important; overflow: hidden !important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } mjx-assistive-mml[display="block"] { width: 100% !important; } mjx-container[jax="SVG"][display="true"] { display: block; text-align: center; margin: 1em 0; } mjx-container[jax="SVG"][display="true"][width="full"] { display: flex; } mjx-container[jax="SVG"][justify="left"] { text-align: left; } mjx-container[jax="SVG"][justify="right"] { text-align: right; } g[data-mml-node="merror"] > g { fill: red; stroke: red; } g[data-mml-node="merror"] > rect[data-background] { fill: yellow; stroke: none; } g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] { stroke-width: 70px; fill: none; } g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] { stroke-width: 70px; fill: none; } g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed { stroke-dasharray: 140; } g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted { stroke-linecap: round; stroke-dasharray: 0,140; } g[data-mml-node="mtable"] > g > svg { overflow: visible; } [jax="SVG"] mjx-tool { display: inline-block; position: relative; width: 0; height: 0; } [jax="SVG"] mjx-tool > mjx-tip { position: absolute; top: 0; left: 0; } mjx-tool > mjx-tip { display: inline-block; padding: .2em; border: 1px solid #888; font-size: 70%; background-color: #F8F8F8; color: black; box-shadow: 2px 2px 5px #AAAAAA; } g[data-mml-node="maction"][data-toggle] { cursor: pointer; } mjx-status { display: block; position: fixed; left: 1em; bottom: 1em; min-width: 25%; padding: .2em .4em; border: 1px solid #888; font-size: 90%; background-color: #F8F8F8; color: black; } foreignObject[data-mjx-xml] { font-family: initial; line-height: normal; overflow: visible; } mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] { stroke-width: 3; } </style></head> <body> <span>This is some text followed by an equation: <mjx-container class="MathJax" jax="SVG" style="position: relative;"><svg style="vertical-align: -0.912ex;" xmlns="http://www.w3.org/2000/svg" width="3.619ex" height="2.509ex" role="img" focusable="false" viewBox="0 -705.8 1599.7 1108.8" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mi" transform="translate(612.8,394) scale(0.707)"><use data-c="1D44E" xlink:href="#MJX-TEX-I-1D44E"/></g><g data-mml-node="mrow" transform="translate(220,-345) scale(0.707)"><g data-mml-node="mi"><use data-c="1D44F" xlink:href="#MJX-TEX-I-1D44F"/></g><g data-mml-node="mo" transform="translate(429,0)"><use data-c="2B" xlink:href="#MJX-TEX-N-2B"/></g><g data-mml-node="mi" transform="translate(1207,0)"><use data-c="1D450" xlink:href="#MJX-TEX-I-1D450"/></g></g><rect width="1359.7" height="60" x="120" y="220"/></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mi>a</mi><mrow><mi>b</mi><mo>+</mo><mi>c</mi></mrow></mfrac></math></mjx-assistive-mml></mjx-container>.</span> <svg style="display: none;" id="MJX-SVG-global-cache"><defs><path id="MJX-TEX-I-1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"/><path id="MJX-TEX-I-1D44F" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"/><path id="MJX-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"/><path id="MJX-TEX-I-1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"/></defs></svg></body> </html> 在浏览器中打开它,我得到: 将文件扩展名更改为XHTML(test.xhtml)时,我得到: 方程式不再显示! 我的问题:为什么方程式不显示以及如何使其正确显示? 提前感谢您的帮助! 每个 svg 元素都需要指定其命名空间是 XHTML。你的第二个 svg 元素没有。添加一下就可以了。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/> <title> Test </title> <style id="MJX-SVG-styles"> mjx-container[jax="SVG"] { direction: ltr; } mjx-container[jax="SVG"] > svg { overflow: visible; min-height: 1px; min-width: 1px; } mjx-container[jax="SVG"] > svg a { fill: blue; stroke: blue; } mjx-assistive-mml { position: absolute !important; top: 0px; left: 0px; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0px 0px 0px !important; border: 0px !important; display: block !important; width: auto !important; overflow: hidden !important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } mjx-assistive-mml[display="block"] { width: 100% !important; } mjx-container[jax="SVG"][display="true"] { display: block; text-align: center; margin: 1em 0; } mjx-container[jax="SVG"][display="true"][width="full"] { display: flex; } mjx-container[jax="SVG"][justify="left"] { text-align: left; } mjx-container[jax="SVG"][justify="right"] { text-align: right; } g[data-mml-node="merror"] > g { fill: red; stroke: red; } g[data-mml-node="merror"] > rect[data-background] { fill: yellow; stroke: none; } g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] { stroke-width: 70px; fill: none; } g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] { stroke-width: 70px; fill: none; } g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed { stroke-dasharray: 140; } g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted { stroke-linecap: round; stroke-dasharray: 0,140; } g[data-mml-node="mtable"] > g > svg { overflow: visible; } [jax="SVG"] mjx-tool { display: inline-block; position: relative; width: 0; height: 0; } [jax="SVG"] mjx-tool > mjx-tip { position: absolute; top: 0; left: 0; } mjx-tool > mjx-tip { display: inline-block; padding: .2em; border: 1px solid #888; font-size: 70%; background-color: #F8F8F8; color: black; box-shadow: 2px 2px 5px #AAAAAA; } g[data-mml-node="maction"][data-toggle] { cursor: pointer; } mjx-status { display: block; position: fixed; left: 1em; bottom: 1em; min-width: 25%; padding: .2em .4em; border: 1px solid #888; font-size: 90%; background-color: #F8F8F8; color: black; } foreignObject[data-mjx-xml] { font-family: initial; line-height: normal; overflow: visible; } mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] { stroke-width: 3; } </style></head> <body> <span>This is some text followed by an equation: <mjx-container class="MathJax" jax="SVG" style="position: relative;"><svg style="vertical-align: -0.912ex;" xmlns="http://www.w3.org/2000/svg" width="3.619ex" height="2.509ex" role="img" focusable="false" viewBox="0 -705.8 1599.7 1108.8" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mi" transform="translate(612.8,394) scale(0.707)"><use data-c="1D44E" xlink:href="#MJX-TEX-I-1D44E"/></g><g data-mml-node="mrow" transform="translate(220,-345) scale(0.707)"><g data-mml-node="mi"><use data-c="1D44F" xlink:href="#MJX-TEX-I-1D44F"/></g><g data-mml-node="mo" transform="translate(429,0)"><use data-c="2B" xlink:href="#MJX-TEX-N-2B"/></g><g data-mml-node="mi" transform="translate(1207,0)"><use data-c="1D450" xlink:href="#MJX-TEX-I-1D450"/></g></g><rect width="1359.7" height="60" x="120" y="220"/></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mi>a</mi><mrow><mi>b</mi><mo>+</mo><mi>c</mi></mrow></mfrac></math></mjx-assistive-mml></mjx-container>.</span> <svg style="display: none;" id="MJX-SVG-global-cache" xmlns="http://www.w3.org/2000/svg"><defs><path id="MJX-TEX-I-1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"/><path id="MJX-TEX-I-1D44F" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"/><path id="MJX-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"/><path id="MJX-TEX-I-1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"/></defs></svg></body> </html> 将 SVG 的命名空间添加到您的 svg 元素中,无论您的文件使用 .html 或 .xhtml 扩展名,您的 SVG 都将同样有效。 即改变 <svg style="display: none;" 到 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

回答 2 投票 0

如何在 CSS 中将无序列表设置为逗号分隔文本

我正在寻找一种使用CSS在XHTML中设置无序列表样式的方法,以便它内联呈现并且列表项用逗号分隔。 例如,以下列表应呈现为...

回答 6 投票 0

属性为空

在 HTML 中,你可以有空属性,甚至没有 ="": 然而,在 XHTML 中,您至少需要一个空字符串: 在 HTML 中,你可以有空属性,甚至没有 ="": <input type="checkbox" selected></input> 但是,在 XHTML 中,您至少需要一个空字符串: <input type="checkbox" selected="selected"></input> XHTML 中空 HTML 属性的等价物是什么?是空字符串,还是字符串形式的属性名称,还是true,还是其他什么? https://www.w3.org/TR/xhtml1/#h-4.5 XHTML 中空 HTML 属性的等价物是属性名称。

回答 1 投票 0

将背景颜色应用于 li 但不应用于嵌套的

我嵌套了 ul/li,问题是,如果您向顶部 li 添加背景颜色,因为其中有嵌套项目,整个列表似乎都有这种背景颜色,而不是...

回答 7 投票 0

如何调整 DropDown <select> 框的宽度?

我需要在不使用CSS的情况下调整选择HTML框的宽度,有什么办法吗?我尝试了尺寸,但随后它调整了高度,而宽度却没有任何作用?还有别的办法吗?

回答 6 投票 0

使用正确的 MIME 类型提供 XHTML

从我记事起,我就努力以正确的方式做事。好吧,无论如何,我认为正确的方式是这样的。 现在我觉得是时候提出一些非常重要的问题了

回答 2 投票 0

是否可以使用 Jsoup 1.8.1 将 HTML 转换为 XHTML?

字符串主体 = ""; 文档 document = Jsoup.parseBodyFragment(body); document.outputSettings().escapeMode(EscapeMode.xhtml); String str = document.body().html(); System.out.println(str);

回答 4 投票 0

<strong>中<em>或<em>中<strong>重要吗?

这重要吗在 一些文字 还是 中的 ? 一些... 这重要吗<strong>在<em> <p><strong><em>Some text</em></strong></p> 或 <em> 中的 <strong>? <p><em><strong>Some text</strong></em></p> 哪个在语义上是正确的并且更容易理解? 更新: 屏幕阅读器在这两种情况下会如何表现? 语法正确,但语义不正确。可以说,<strong> 是 <em> 的“高阶”形式。如果您正在寻找 <b> 和 <i> 的效果,请使用 CSS。请记住,不要因为元素的外观而选择元素,而是因为它们的含义。 只要您不混淆结束标签的顺序,您列出的两种方式在标记方面都是完全正确的。这是不正确的: <p><em><strong>Some text</em></strong></p> 如果您关心语义,则应避免在元素上同时使用 em 和 strong。 Strong:渲染为强调强 文字 (通过) 如果您关心有效的 HTML,这两种解决方案都很好且有效。 根据w3strong是强烈强调。这意味着 em 和 strong 不应在语义上一起使用,因为 strong 已经是 em。 如果您认为强强调应该是粗体斜体,我认为您应该添加一个 css 声明,在其中将强强调设置为粗体斜体。 从视觉效果角度来看,这并不重要。 在语义上,这很重要,因为您在同一元素(某些文本)中使用强调和强烈强调。这与在某些地方使用 h1 是一样的,只是因为您想要大文本,而不是因为它们是标题。 EM:表示强调。 STRONG:表示更强的强调。 来源 短语元素的呈现 取决于用户代理。一般来说, 可视化用户代理呈现 EM 文本 斜体和粗体文本。 **语音合成器用户代理可能 改变合成参数,例如 相应的音量、音调和速率。 所以要小心。使用 CSS 来完成视觉效果,而不是标记。 在 (X)HTML5 中,定义/含义是: em:表示其内容的重音强调(改变句子的含义); strong:代表其内容的强烈重要性(不会改变句子的含义)。 所以这些元素原则上可以一起使用。 要获得想法,请考虑大声朗读文本(不过取决于语言):em可能会改变语调(重音),strong可能会增加响度。 我认为从语义上来说,使用 <strong><em>foo</em></strong> 或 <em><strong>foo</strong></em> 没有什么区别;至少我在规范中找不到任何相关内容。

回答 6 投票 0

xhtml 1.0 strict 和 xhtml 1.1 有什么区别?

xhtml 1.1 是 xhtml 1.0 的演变,对吗?所以我想知道它们之间的主要区别是什么。我已经使用 xhtml 1.0 strict 一段时间了,但是,如果有演变,我想知道是否

回答 4 投票 0

为什么在 HTML 中创建表格时会发生这种情况?

我编写了一个 XML 代码来创建表。但是,问题是每当我从特定块中删除嵌套标记时,表行就会交替。 源代码 我编写了一个 XML 代码来创建表。但是,问题是每当我从特定块中删除嵌套标记时,表行就会交替。 源代码 <?xml version="1.0" encoding="UTF-8"> <!DOCTYPE html PUBLIC "~//W3C//DTD XHTML 1.1/EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1.dtd"> <head> <title>Test</title> </head> <body> <table style="border-collapse=collapse" border="2"> <tr><td rowspan="20"><b>Department</b></td></tr> <tr><tr><td rowspan="5">Sem1</td></tr> <tr><td>sub1</td></tr> <tr><td>sub2</td></tr> <tr><td>sub3</td></tr></tr> <tr><tr><td rowspan="5">Sem2</td></tr> <tr><td>sub4</td></tr> <tr><td>sub5</td></tr> <tr><td>sub6</td></tr></tr> <tr><tr><td rowspan="5">Sem3</td></tr> <tr><td>sub7</td></tr> <tr><td>sub8</td></tr> <tr><td>sub9</td></tr></tr> </table> </body> 有什么解决办法吗? 输出 但是当我删除了外面的那个,其中包含 4 行代码。 <--!tr tag removed--> <tr><td rowspan="5">Sem2</td></tr> <tr><td>sub4</td></tr> <tr><td>sub5</td></tr> <tr><td>sub6</td></tr> <--!tr tag removed--> 输出是这样的 忽略注释中已解决的 XHTML 问题,您可能需要如下所示的 HTML 代码: <!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> <table> <tr><td rowspan="20"><b>Department</b></td></tr> <tr><td rowspan="3">Sem1</td><td>sub1</td></tr> <tr><td>sub2</td></tr> <tr><td>sub3</td></tr> <tr><td rowspan="3">Sem2</td><td>sub4</td></tr> <tr><td>sub5</td></tr> <tr><td>sub6</td></tr> <tr><td rowspan="3">Sem3</td><td>sub7</td></tr> <tr><td>sub8</td></tr> <tr><td>sub9</td></tr> </table> </body> </html> 您使用 rowspan=5 观察到的效果是,当 HTML 解析器遇到紧接着另一个 <tr> 标记的 <tr> 标记时,会在第二个 </tr> 开始之前推断出 <tr> 结束元素标记 -元素标记,因此空表行计入 rowspan 值。 要了解 HTML 解析器的这种行为(最初源自 SGML 结束标记推断)的工作原理,请考虑上面省略了 </tr> 元素的更正 HTML 代码: <!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> <table> <tr><td rowspan="20"><b>Department</b></td> <tr><td rowspan="3">Sem1</td><td>sub1</td> <tr><td>sub2</td> <tr><td>sub3</td> <tr><td rowspan="3">Sem2</td><td>sub4</td> <tr><td>sub5</td> <tr><td>sub6</td> <tr><td rowspan="3">Sem3</td><td>sub7</td> <tr><td>sub8</td> <tr><td>sub9</td> </table> </body> </html> 根据 HTML 规范,后者等同于前者 如果 tr 元素后面紧跟着另一个 tr 元素,或者父元素中没有更多内容,则可以省略 tr 元素的结束标记。 事实上,SGML 解析器可以推断出这些(假设 <DOCTYPE html> 更改为 <!DOCTYPE html "about:legacy"> 来告诉 SGML HTML 解析规则,如示例中所述。https://sgmljs.net/docs/parsing-html-tutorial /parsing-html-tutorial.html;实际上,甚至 </td> 结束元素都可以省略;然而,这并没有在 about:legacy-compat 的内置 sgmlproc HTML 迷你 DTD 中实现,所以需要使用完整的 HTML DTD)。 现在我很乐意将您发送到 W3C 的 nu HTML 5 验证器来检查您的 HTML,但其结果令人困惑(我们自己检查一下),似乎推断出额外的 tbody 开始元素标记,这不是由 table 元素的内容模型规范支持: 按此顺序:可选的一个 title 元素,后跟零个或多个 colgroup 元素,可选地后跟一个 thead 元素,后跟零个或多个 tbody 元素或一个或多个 tr 元素,后跟可选的 tfoot 元素,可选地与一个或多个脚本支持元素。 意味着tbody是可选并且不是被推断为围绕tr元素的包装,即使它的开始和结束元素可以被省略。后者是在 HTML5x 以及较新的 2020 和 2023 HTML 审查草案 DTD 中实现解析规则的方式,网址为 https://sgmljs.net/docs/html5.html。 HTML 5 DTD 参考中也简要讨论了这种歧义。 请参阅 Alohci 关于 nu 验证器对 tbody 元素的推断的评论。 另请参阅 WHATWG 的 HTML 规范,了解引用的引文。

回答 1 投票 0

如何为所有 HTML 表单字段添加 onChange 函数

我的 HTML 页面有 10 个文本字段。 目前,所有十个字段都没有可用的 onChange EVENT。 <...

回答 6 投票 0

HTML 中的欧元符号

欧元 (€) 是欧洲 22 个国家的官方货币。 在 HTML 中,显示 € 符号有不同的可能性: 欧元 欧元 欧元 您会在 HTML 中使用哪一个?我

回答 6 投票 0

如何更改列表中第一个元素之前和最后一个元素之后的间距

我正在为一本 EPUB 图书创建索引。我创建了包含子条目的条目,如下所示: 煤炭 无烟煤 烟煤 褐煤 进口 储备 接缝...

回答 1 投票 0

需要关闭HTML中的meta和link标签吗?

我刚刚读了某人的 HTML,他从未关闭 HTML head 部分中的元和链接标记。代码运行良好;关闭这些标签是可选的吗? 我认为如果标签是...

回答 4 投票 0

哪些<meta>标签有用,哪些没有?

X/HTML 中总共有多少个 标签可用,哪些应该使用,哪些不应该使用? 请参阅此工具http://www.ulhas.net/tools/tu-metagen 有没有专业人士可以使用其他所有其他元标签...

回答 3 投票 0

XSLT 匹配 xhtml 命名空间

美好的一天, 我正在尝试使用以下命令行将 html 文件生成的 xhtml 文件中的“head”元素与 HTML tidy 标记校正器进行匹配: tidy -asxml -输出 test_tidy.html --numeric-

回答 1 投票 0

为什么我在 javaee 中收到“找不到方法”错误?

我目前正在学习 JSF,使用 JavaEE,所以我将不胜感激任何可能的帮助。我有一段代码,当我尝试访问(通过 JSF 数据表,使用命令按钮)时,它给了我

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.