在CSS中,我们可以同时使用ID和类。如果我在语义,Web标准-W3C,SEO,可访问性和将来的可维护性方面始终使用Class代替ID,那么有什么利弊?
一个很大的不同:在CSS中,类的重要性级别低于ID。
想象一下,CSS声明中的每个规范都为该声明的值添加了一定数量的点。假设要点如下(完全组成,但随便什么):
因此,以下声明:
a {
color: #00f;
}
.highlight a {
color: #0f0;
}
#nav .highlight a {
color: #f00;
}
分别价值1、11和111点。对于给定的标签,与该标签匹配的得分最高的声明为“获胜”。因此,例如,与这些声明,所有的 一个
标签将是蓝色的,除非他们的“亮点”类的元素,在这种情况下,他们会是绿色的内,除非该元素是用ID的元素里面=“导航”,在这种情况下它们会变成红色。
现在,如果仅使用类,则可以陷入棘手的情况。假设您要将内容区域中的所有链接都设为蓝色,而将foo区域中的所有链接都设为红色:
.content a {
color: #00f;
}
.foo a {
color: #f00;
}
按照我以前的(定级)量表,两者都得到11分。如果您的内容中包含foo,哪一个获胜?在这种情况下,foo获胜是因为它在后面。现在,也许这就是您想要的,但这很幸运。如果您以后改变主意并希望赢得内容,则必须更改其顺序,并且根据CSS文件中声明的顺序是一个坏主意。现在,如果您有以下声明:
#content a {
color: #00f;
}
.foo a {
color: #f00;
}
内容将永远获胜,因为该声明的值为101(击败foo的值为11)。不管它们以什么顺序出现,内容声明将始终击败foo。这为您提供了一些非常重要的一致性。获胜者不会根据文件中的顺序而随意更改,如果要更改获胜者,则必须更改声明(可能在.foo声明前添加#content,因此它将有111点)。
因此,基本上,值的差异很重要,如果您仅使用类,就会出现很多不一致的地方,并且看起来是任意的赢家。
问题内容: 我正在研究一个小的Java程序,并且正在使用数组,所以我做到了: 后来,我开始扩展以前做过的事情,并决定要从用户那里得到输入,因此我添加了: 现在发生了一个想法。我知道我可以这样做: 然后,我只需要1条导入行,而不是2条(或者我最终需要很多条),但是导入中的通配符是否意味着它将从该包中导入 所有内容 ,而不管是否需要它,或者仅将选择性功能被拉? 我的直觉是编写更多代码,仅包含我 知道
问题内容: 有什么方法可以在JSON中嵌套对象,因此我不必从所有内容中制成数组?为了能够无错误地解析我的对象,我似乎需要这样的结构: 如果我将此对象提取到一个名为“结果”的变量中,则必须像这样访问嵌套的对象: 和 这对我来说似乎很笨拙和多余,如果可能的话,我希望: 和 但是,当一切都是数组时,如何直接使用对象键?在我困惑和未受教育的头脑中,这样的事情似乎更合适: 我可能在这里误解了一些基本知识,但
问题内容: 扫描仪可用于读取文本文件,用户输入流等。正如上面明确指出的,我专门使用它来读取用户输入。 使用上面我做的Scanner,因为它“骑乘”了System.in,所以在没有下一个输入时对其hasNext()的调用将导致相关线程被阻塞,直到下一个有数据为止,然后再返回true。我想检查一下,getter风格,下一个有数据,而不是像hasNext()返回那样,下一个有数据。 其他问题通过启动一个
在代码不等待任何东西的异步方法中,是否有人会将其标记为异步,等待任务,然后返回? 除了潜在的联合国必要性之外,这样做的负面影响是什么? 对于本例,请假设
问题内容: 只是想知道是否有可能以某种方式使CSS属性插入html代码而不是在上插入字符串或类似这样的元素: 这将非常方便…可以通过Javascript完成,但是使用CSS确实可以使生活更轻松:) 问题答案: 不幸的是,这是不可能的。根据规格: 生成的内容不会更改文档树。特别是,它不会反馈到文档语言处理器(例如,用于重新解析)。 换句话说,对于字符串值,这意味着始终按字面意义对待该值。无论使用哪种
问题内容: 我一直在设置元类,如下所示: 但是我只是遇到了这样定义的元类: 有什么理由比另一个更喜欢吗? 更新 :请记住,我在询问有关在类中使用和的问题。我已经在另一堂课中了解了它们之间的区别。但是在元类中,我不能用来实现缓存,因为仅在元类中创建类时才调用它。 问题答案: 如果要在创建类之前更改属性dict或更改基元组,则必须使用。当看到参数时,该类对象已经存在。另外,如果要返回除所讨论类型的新创