我想知道的基本问题是在可读性、重用、编码风格等方面首选什么。需要注意的一点是,这个 JSP 可以在页面的多个部分中使用,对于这个天真的例子,让我们说它只是一个 div 需要以某种方式设置样式并多次不同地放置在页面上。
我意识到我可以将这个类外部化为一个共享的 CSS 文件,但是这个类只会被页面的这一部分使用,例如这个盒子是整个产品中唯一需要紫色的盒子,在我认为为了清理我的 JSP 而弄脏共享 CSS 是没有意义的。那么什么更好
选项 1(使用 ID 选择器)
<% String contextName = request.getParameter("myContext"); %>
<style type="text/css">
#<%=contextName %>_myDiv
{
font-weight: bold;
background-color: purple;
height: 20px;
}
</style>
<div id="<%=contextName %>_myDiv">
<div>Blah Blah Blah!</div>
</div>
选项 2(使用类选择器)
<% String contextName = request.getParameter("myContext"); %>
<style type="text/css">
.<%=contextName %>_myDiv
{
font-weight: bold;
background-color: purple;
height: 20px;
}
</style>
<div class="<%=contextName %>_myDiv">
<div>Blah Blah Blah!</div>
</div>
在我看来,选项 2 会使事情更容易调试,因为它们使用共享类,但是如果页面上有(例如)50 个这样的框,那么它将导致这个类被声明 50 次。这是否会为浏览器带来额外的工作量。或者,如果我使用 ID 选择器方法,那么我会创建 50 个独特的样式,它们执行完全相同的操作,导致浏览器需要额外的工作来匹配所有 ID。
那么什么更好呢?注意:这两种方法都有效,我只是在寻找每种方法的优缺点。