我一直在使用JSF处理一个简单的Java EE项目。
<h:form id="phoneForm">
<h:dataTable id="phoneTable">
</h:dataTable>
</h:form>
我尝试通过设置CSS #phoneTable { ... }
,但是它不起作用。在客户端检查HTML源代码后,看来JSF生成的HTML表获得了形式为的客户端ID
id="phoneForm:phoneTable"
。我无法通过来应用CSS #phoneForm:phoneTable { ... }
,因为冒号指示伪选择器的开始并导致错误。
无论如何,如何在CSS选择器中使用它?
该:
是CSS标识符的特殊字符,它代表了一个开始伪类选择一样:hover
,:first-child
等你将需要转义。
#phoneForm\:phoneTable {
background: pink;
}
这仅在IE6 / 7中不起作用。如果您也想支持这些用户,请\3A
改用(后面有空格!)
#phoneForm\3A phoneTable {
background: pink;
}
以上适用于所有浏览器。
还有其他几种方法可以解决此问题:
<h:form id="phoneForm">
<div id="phoneField">
<h:dataTable id="phoneTable">
与
#phoneField table {
background: pink;
}
class
代替id
。例如<h:dataTable id="phoneTable" styleClass="pink">
与
.pink {
background: pink;
}
要么
table.pink {
background: pink;
}
另一个优点是,这允许更多的抽象自由。当您想在另一个元素上重用相同的属性时,CSS可在多个元素上重用,而无需添加选择器和/或copypaste属性。
UINamingContainer
通过在中的以下上下文参数更改JSF默认分隔符web.xml
。例如<context-param>
<param-name>javax.faces.SEPARATOR_CHAR</param-name>
<param-value>-</param-value>
问题内容: JSF将输入字段的ID设置为。我需要在该元素上指定一些样式,但是冒号看起来像是浏览器伪元素的开头,因此它被标记为无效并被忽略。反正有逃脱结肠之类的东西吗? 问题答案: 反斜杠: 另请参见 在CSS中使用命名空间 (MSDN)
问题内容: 如何使用选择器在CSS中选择元素的上述元素 在这里,我想使用class ,以便可以使用CSS选择器获取上述元素。 问题答案: 纯CSS不可能做到这一点…
本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。
问题内容: 给定以下类和控制器操作方法: 以及以下形式: 我可以同时更新School实例和School的Address成员。这真是太好了!谢谢ASP.NET MVC团队! 但是,如何使用jQuery选择下拉列表,以便可以预先填写呢?我意识到我可以在服务器端进行操作,但是页面上还会有其他影响列表的动态元素。 以下是我到目前为止所拥有的,并且由于选择器似乎与ID不匹配而无法正常工作: 问题答案: 在每
问题内容: 在以下HTML中,我想在图像悬停时将悬停效果应用于标题。是否有CSS选择器可以执行此操作? 的HTML 问题答案: 更新:主题说明符似乎已从Selectors Level 4规范的 编辑者草案(2014年5月6日)中 删除。这样就无法使用CSS来实现这一目标。 选择器级别4引入了主题说明符,该说明符允许: 选择。 当前不存在浏览器支持AFAIK。 您可以在JavaScript中对其进行
问题内容: 我想基于内部HTML使用CSS选择器设置仅第二个样式(innerHTML2)。这可能吗?我试过使用,但似乎不起作用。 问题答案: 使用CSS不可能做到这一点。但是,您可以使用jQuery。