我需要哪种文档类型?

发布于 2024-10-12 21:53:26 字数 360 浏览 7 评论 0原文

我在使用默认 VS 文档类型时遇到问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

在我的页面上我有一个内容框,其中包含两个 div,一个向左浮动,另一个向右浮动。右侧浮动 div 包含高度:100%,但是,这永远不会应用于匹配左侧 div 的高度。

当我在 IE8 中删除 doctype(不好,我知道,但只是测试......)时,该网站看起来就像狗的早餐,而在 Chrome 和 Firefox 中,它看起来完全符合我的要求。

I'm having an issue using the default VS doctype of

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

On my page I have a content box, which contains two divs, one floated left and the other floated right. The right floated div contains a height: 100%, however, this is never applied to match the height of the left div.

When I remove the doctype (bad, I know, but was just testing..) in IE8 the site looks like a dogs breakfast, whereas in Chrome and Firefox it looked exactly as I wanted it to.

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

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

发布评论

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

评论(5

写下不归期 2024-10-19 21:53:26

您应该使用适合您所编码的 HTML 版本的任何文档类型。例如 HTML 5 的

You should use whatever doctype fits the version of HTML you have been coding for. e.g <!DOCTYPE HTML> for HTML 5.

热鲨 2024-10-19 21:53:26

没有 DOCTYPE 基本上意味着浏览器将假定 HTML 损坏并尝试猜测,因此您永远无法获得连贯的结果。只需选择您选择的任何规范(我尽量避免使用 XHTML,但这只是个人喜好问题)并通过 HTML 验证器运行您的代码,直到没有错误为止。

No DOCTYPE basically means that browsers will assume broken HTML and will try to guess so you'll never get coherent results. Just pick any spec of your choice (I try to avoid XHTML but it's a matter of taste) and run your code through an HTML validator until it has no errors.

地狱即天堂 2024-10-19 21:53:26

您应该使用这样的 Doctype:

  • 触发 标准模式 (又名严格模式)
  • 反映您的标记正在写作(通常应该是:)
    • 默认情况下为 HTML 4.01 严格(如果您确实需要其中的内容,则为过渡)
    • HTML 5(如果您使用草稿中的功能)
    • 如果您有一个末尾带有附录 C 规范化的 XML 工具链,则为 XHTML 1.0 Strict(如果您确实需要其中的内容,则为 Transitional)

你的 Doctype 会触发标准模式,所以你只需要弄清楚为什么浏览器没有按照你的预期呈现内容(这很可能是由于你的 CSS 或标记中的错误)可以使用 validator 检测到。

You should use a Doctype that:

  • Triggers standards mode (AKA strict mode)
  • Reflects the markup you are writing (which should usually be:)
    • HTML 4.01 Strict by default (or Transitional if you really need something from it)
    • HTML 5 if you are using features from the draft
    • XHTML 1.0 Strict (or Transitional if you really need something from it) if you have an XML toolchain with Appendix C normalisation at the end

The Doctype you have triggers standards mode, so you just need to figure out why browsers don't render content as you expect (there is a high chance that this will be due to errors in your CSS or markup that could be detected with a validator).

吹梦到西洲 2024-10-19 21:53:26

不是答案:搜索两列布局。

提示:搜索“clear:both”风格的解决方案。 (请参阅http://www.quirksmode.org/css/clearing.html

Not an answer: Search for two column layout.

Hint: search for "clear: both"-style solutions. (see http://www.quirksmode.org/css/clearing.html)

无所的.畏惧 2024-10-19 21:53:26

您是否正在寻找高度相同的两个 div?在标准模式下永远不会出现这种情况,因为 div 的行为方式与表格单元格的行为方式不同。表格单元格会拉伸以满足表格的尺寸,div 是独立的容器,并且行为方式不同。

然而,有一些解决方案,例如假柱技术。

这是一篇关于“假列”技术的文章。

Are you looking for the two divs to be identical in height? That will never be the case in standards mode because divs don't behave in the same way that table cells do. Table cells stretch to meet the dimensions of the table, divs are independent containers and do not behave in the same manner.

However there are solutions such as the Faux Column technique.

Here's a an article on the "Faux Columns" technique.

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