>不是以 xHTML 形式呈现的?" />

为什么
>不是以 xHTML 形式呈现的?

发布于 2024-08-08 23:45:31 字数 232 浏览 5 评论 0 原文

为什么

没有在 xHTML 中呈现? 如果我这样做
 
只有这样它才会被渲染。我错过了什么吗? 最小宽度有帮助吗? 我使用严格的 xHTML 1.0

是否可以仅使用 CSS 来修复它,或者我必须更改 html 标记?

Why <div style="width:50%" /> is not rendered in xHTML?
If I do <div style="width:50%">   </div> only then it is rendered. Do I miss something?
Will min-width help?
I use strict xHTML 1.0

Is it possible to fix it with CSS only or I must change html markup?

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

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

发布评论

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

评论(3

允世 2024-08-15 23:45:31

因为 DIV 在 XHTML HTML 中都不是自闭合元素。

您必须将开始标记 (

) 与结束标记 (

) 配对。

关于问题的另一部分:两者

<div style="width:50%"> </div>

<div style="width:50%"></div>

之间的区别在于,第一个字符中有一个不间断的空格字符填充 DIV 。第二个什么也没有。这就是为什么您在第二个版本上看不到任何渲染的原因。

而且,XML 和 XHTML 不是一回事。后者借用了如果标签不属于匹配对的一部分则自动关闭标签的约定。

Because DIV is not a self-closing element in either XHTML or HTML.

You must pair the opening tag (<div>) with the closing (</div>) .

On the other part of your question:

<div style="width:50%"> </div>

<div style="width:50%"></div>

The difference between is that in the first there is a non-breaking space character that fills up the DIV. In the second there is nothing. That is why you will not see anything render on the second version.

Also, XML and XHTML are not the same thing. The latter borrows the convention of self-closing a tag if it's not part of a matching pair.

梦行七里 2024-08-15 23:45:31

尽管在 XHTML 中通常应避免使用自闭合

(因为它不会在旧版 HTML 浏览器中按预期进行解析),但这实际上与 XHTML 没有任何关系:它是布局问题。

<div></div>

是一个不包含任何内容的块元素。因此它的高度为零;你看不到它。

<div> </div>

是一个包含一行文本的块元素。它的高度等于 line-height 属性。

如果你希望一个空的 div 有一定的高度,你必须这样说:

<div style="width: 50%; height: 2em; background: red;"></div>

这是一个古老的 IE5 错误,空的 div 仍然会以高度呈现,就好像它包含一行文本一样。当您使用标准模式文档类型(无论您使用的是 HTML 还是 XHTML、过渡型还是严格型)时,您将不会看到此行为。

Although a self-closing <div /> should generally be avoided in XHTML (because it won't parse as expected in legacy HTML browsers), this is not actually anything to do with XHTML: it's a layout issue.

<div></div>

is a block element containing no content. Its height is therefore zero; you can't see it.

<div> </div>

is a block element containing one line of text. Its height is equal to the line-height property.

If you want an empty div to have some height, you must say so:

<div style="width: 50%; height: 2em; background: red;"></div>

It is an old IE5 bug that an empty div would still render with height as if it contained a line of text. When you are using a Standards Mode doctype (which you should be regardless of whether you are using HTML or XHTML, Transitional or Strict), you won't see this behaviour.

坏尐絯℡ 2024-08-15 23:45:31

XHTML 中允许的自关闭标签如下:

<area />
<base />
<basefont />
<br />
<hr />
<input />
<img />
<link />
<meta />

DIV 必须同时具有开始标签和结束标签。

Allowed self-closing tags in XHTML are the following:

<area />
<base />
<basefont />
<br />
<hr />
<input />
<img />
<link />
<meta />

DIV must have both starting and ending tags.

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