一个非常基本的问题:
当我在.html文档的开头包含DOCTYPE时:
<!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">
它只会破坏页面的一小部分风格。
在这里你可以看到一个实例:
Without DOCTYPE (Right) - With DOCTYPE (Wrong)
我认为我有点“知道答案”,(除了HTML和CSS似乎是由聪明的黑猩猩编写),问题似乎是我正在使用的CSS的一些元素不是我正在使用的DOCTYPE标准的一部分,因此,有些部分没有加载(用简单的英文)。
这只是我的猜测,但如果是这种情况,我想知道我使用的是哪些元素,我应该(如果具体的话)是关于如何使用它们的“一般指南”。
提前致谢!
答案 0 :(得分:6)
尝试在体型中使用700之后添加px(以及在css中指定宽度的任何位置)
原因是添加doctype会使浏览器进入标准模式(这是一件好事)。您应该通过验证程序运行css以捕获标准模式下的错误。
抱歉!我们发现了以下错误(5)
行# 错误
2 body Value Error:宽度仅为0 可以是一个长度。你必须放一个单位 在你的号码之后:700 700
18 p.titulo属性文本阴影 在CSS级别2.1中不存在但是 存在于:2px 2px 2px #aaa 2px 2px 2px #aaa
140 #rect Value Error:仅宽度为0 可以是一个长度。你必须放一个单位 在你的号码之后:235 235
151 #form值错误:宽度仅为0 可以是一个长度。你必须放一个单位 在你的号码之后:235 235
174 #navcontainer ul值错误: 保证金只有0可以是一个长度。您 必须在你的电话号码后加一个单位:5 5
答案 1 :(得分:2)
浏览器使用DOCTYPE声明的唯一方法是在“标准模式”和“怪癖模式”(有时是“几乎标准模式”)之间切换。它对浏览器的影响略有不同。
主要区别(和最大的区别)是在IE6中,它在IE的旧专有CSS Box模型和“标准”W3C盒模型之间切换,该模型影响宽度和高度的计算方式。
http://en.wikipedia.org/wiki/Quirks_mode
http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug
除非你知道自己在做什么,否则最好选择能让你进入标准模式的DOCTYPE
答案 2 :(得分:0)
您的网页的CSS非常好,因为它们是有效且正确的。请记住,Quirk模式是浏览器在没有/无效doctype
时进入的模式是IE5.5模式,在此之前你真正做的是补偿IE5引入的半破箱模型。 5。
话虽如此,您可能希望在继续使用CSS之前先清理HTML。不建议<b>
标记正式弃用因为它们是表示元素,所以你应该在标题的那一位附近包裹一个span
,并给它一个{{1相反。
您还应该将font-weight: bold
用于表单。然后,您可以使用列表将label
对组合在一起。
最后,对于标题,您可以简单地删除所有相对定位,并使用label - input
,或者,如果您需要文本居中但右对齐,则固定宽度和text-align: center
。对主要内容执行相同操作,并丢弃用于居中内容的所有相对定位和负边距。
答案 3 :(得分:0)
请注意,您使用的doctype会使您处于“有限怪癖模式”/“几乎标准模式”。正确的是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
如果你坚持使用XHTML(你不应该),或者
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
如果你坚持使用过时的版本(你不应该),或者
<!DOCTYPE html>
如果您需要的所有文档类型都是标准模式(它是)。