Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
css是否仅用于成对标记?_Css_Tagging - Fatal编程技术网

css是否仅用于成对标记?

css是否仅用于成对标记?,css,tagging,Css,Tagging,我试图理解css,我尝试的第一件事是: <div style=" height: 100px; width: 100px; border: 1px solid black"/> <div style=" height: 100px; width: 100px; border: 1px solid red"/> 及 谁能解释一下发生了什么事?我认为应该没有区别。。到目前为止,我只经历了纯xml,所以这对我来说有点令

我试图理解css,我尝试的第一件事是:

<div style="
    height: 100px;
    width: 100px;
    border: 1px solid black"/>

<div style="
    height: 100px;
    width: 100px;
    border: 1px solid red"/>


谁能解释一下发生了什么事?我认为应该没有区别。。到目前为止,我只经历了纯xml,所以这对我来说有点令人沮丧

还有一个附带问题。。它是如何显示整个内容的?我假设第一件事是浏览器构建DOM树,它通常根据元素的顺序显示。css也一样,只是样式定义了一点变化吗?我的意思是,样式表中的规则是在显示某个具体元素时首次应用的,其中没有其他技巧。对吗?

CSS可以应用于任何“标记”,但使用
是不正确的。
div
标记始终需要结束标记:

<div><!-- HTML here --></div>
要查看它是否适用于自动关闭标记;)


答。

我不确定您的DIV问题是否基于CSS,我认为这更像是浏览器解释的问题。浏览器希望div包含内容,但可能无法正确呈现这些内容。XHTML与XML兼容,但它本身不是XML(这意味着它不遵守XML的所有规则)

CSS是否适用于自动关闭标签,例如IMG或HR


你的第二个问题似乎是对的。浏览器有效地缓存样式表,并在DOM中看到相关标记时应用样式。你永远不会真正看到这一切发生,因为它通常是在对页面进行任何绘图之前完成的。如果动态添加带有CSS引用的DOM标记,它将自动采用样式表中定义的样式

应该有内容,所以它们不是自动关闭标签。CSS属性很好,但标记不正确。

如前所述,
div
元素需要开始和结束标记……除非您在某些示例中执行了以下操作:

<div />

或者


这是一个自动关闭(空)
div


因此,对于CSS测试,您可能不想使用
——而是使用
Foo

毫无疑问,您使用的是文本/html内容类型的XHTML

这是一种旨在简化从HTML到XHTML的转换的技术,因此人们可以在浏览器支持XHTML之前就开始使用XHTML。十年过去了,Internet Explorer仍然不支持它,我又回到了HTML

因为您使用的是这种技术,所以必须编写与HTML解析器和XML解析器兼容的XHTML。这意味着以下方面,包括:

如果元素允许内容(例如div元素),但该元素的实例没有内容(例如空节),则不要使用“最小化”标记语法(例如


不允许包含内容的元素被定义为“空”元素,可以很容易地在上找到。

如果您确实想要自动关闭div:

  • 将您的内容作为XHTML提供。这包括使用正确的mime类型(
    application/xhtml+xml
    ),但请注意,您需要这样做

  • 使用有效的XHTML doctype和命名空间

  • e、 g

    
    

    然后,这将如您所期望的那样显示您的div,但根据我的经验,提供好的旧HTML 4 strict会省去很多麻烦。

    不正确-它并不总是需要结束标记
    是完全有效的XHTML,它将创建一个空的、自动关闭的
    div
    元素。你们都对了一半
    在XHTML中很好,但在与HTML兼容的XHTML中就不行了(虽然它不需要内容,但它需要一个结束标记)。@David:你是对的,我把符号弄混了,例如,


    。不,我实际上想要的是没有文本的空框:),因此它有点不合逻辑,自动关闭标记是不够的,不过我得习惯:)你用的是哪种浏览器?它应该适用于现代浏览器:我使用mozilla,在我描述的第一个例子中,它在同一个位置显示黑框和红框,但黑框上显示的每个方向都有一个像素移动。在第二种情况下,这是我真正想要的,红色的盒子在黑色的盒子下面。@愚蠢的傻瓜:你应该解释一下你在问题中看到了什么。仅仅是给出CSS代码,我认为应该没有什么区别,很难猜测您面临什么问题。一张截图就好了。
    <img src="path/to/some/image" style="border:5px solid black;" />
    
    <div />
    
    <div/>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">