0

我知道标题有点误导,但我来自面向对象的背景,最近我开始转向 Web 开发。我只掌握了 HTML 的基本知识,并且一直在学习和弄乱 CSS,但是其中有些部分有点令人困惑,我正在尝试用我能理解的术语来理解它。

我的 CSS:

.Person .span4 p
{
     margin-left: 10px;
     margin-right:10px;
     margin-top:10px;
}

据我所知,这意味着容器内的任何 p 标签,例如“span4”类,而另一个容器内的类“Person”将按照上面列出的规范进行格式化。换句话说,person.span4.p.format(String[] formatArgs),其中 formatArgs 是左边距、右边距和顶部。

问题:这是看待它的适当方式吗?

我知道这可能是将苹果与橙子进行比较,但我想在运行之前获得一些意见,得出一些可能非常错误的结论,以及对这些工作原理的实际解释。

4

1 回答 1

4

您的问题.Person .span4 p是正确的,这将为一个p元素的后代设置样式,该元素是具有span4类的元素的后代,该类是具有类的元素的后代Person

但是,我不会尝试将 HTML 中的类解释为与 OO 类有任何相似之处。它们是完全不同的概念,我认为这最终会使事情变得混乱。

可以使用类属性 ( class="span4") 将类分配给 HTML 元素,然后可以在 CSS 或 JavaScript 中使用这些属性为这些元素应用额外的样式或行为。考虑给一个元素一个类,就像用一个特定的关键字标记它,这样以后就可以很容易地定位它。元素也可以通过用空格分隔来分配多个类,例如。class="span4 box".

此外,.Person .span4 p它实际上不是一个“类”,它是一个选择器。.span4语法称为类选择器,是p元素选择器,在两个选择器之间使用空格创建后代选择器。此外#myId还有一个 ID 选择器,还有很多其他类型的选择器

我推荐本指南作为快速掌握正确术语的好方法。

于 2012-12-11T14:28:27.050 回答