2013-08-07 23 views
0

我有一些如下所示的代码。我正在使用css来尝试使用id="TL_QUANTITY$0"padding-right of 20px分配span标记。但是我错误地使用了CSS选择器。有谁知道我会如何改变CSS的结束,以通过不直接调用该ID分配该跨度标记与该填充?错误地使用CSS选择器

下面是HTML:

<td id="tdTL_PAYABLE_TIME$0#2" class="PSLEVEL1GRIDODDROW" width="127" align="left" style=""> 
    <td id="tdTL_PAYABLE_TIME$0#3" class="PSLEVEL1GRIDODDROW" width="152" align="left" style=""> 
    <td id="tdTL_PAYABLE_TIME$0#5" class="PSLEVEL1GRIDODDROW" width="105" align="left" style=""> 
    <td id="tdTL_PAYABLE_TIME$0#6" class="PSLEVEL1GRIDODDROW" align="right" style=""> 

<div id="win10divTL_QUANTITY$0" style="width:78px;"> 
    <span id="TL_QUANTITY$0" class="PSEDITBOX_DISPONLY">8.00</span></div></td> 

这里是CSS:

#lbContent #comp_zPNCComp .PSLEVEL1GRIDODDROW, #lbContent #comp_zPNCComp .PSLEVEL2GRIDODDROW, #lbContent #comp_zPNCComp .PSLEVEL3GRIDODDROW, #lbContent #comp_zPNCComp .PSSRCHRESULTSODDROW div:nth-child(1) span:nth-child(1) { 
    padding-right:20px; 
} 

我知道这其中很大一部分是正确的,我只是我搞乱了,我试着呼唤孩子:

#lbContent #comp_zPNCComp .PSLEVEL1GRIDODDROW, #lbContent #comp_zPNCComp .PSLEVEL2GRIDODDROW, #lbContent #comp_zPNCComp .PSLEVEL3GRIDODDROW, #lbContent #comp_zPNCComp .PSSRCHRESULTSODDROW 
+5

此代码只是很好。只有一个wysiwyg编辑可以做出这样的事情。为什么不使用可读的类和ID,并停止组合内联和外部样式? – MightyPork

+0

我没有构建代码。它已经是这样设计的。你能帮我找到问题的解决方案吗? –

+0

有人可以帮忙吗?当然,仍然有一种方法可以解决我需要的问题。 –

回答

0

第一件事,ID s的意味着独特selecto r

class是针对组元素

更新:首先,我错过了赶上$#,这是不允许的。

选项1:ID选择

#ElementId { 
    padding-right: 20px; 
} 

选项2:使用你的div的ID或类

#classID { 
    padding-right: 20px; 
} 

选项3:使用伪选择像JSFiddle,你的情况,你可以尝试一些与此类似。

div:last-child span{ 
    padding-right: 20px; 
} 

还有更多选项可用。

+0

我该如何将这个应用到我的css中? –

2

我认为真正的问题是与元素的id名称。我可能是错的,但我不认为在CSS中允许使用$来指定元素的id名称。

在这里看到:What are valid values for the id attribute in HTML?

+0

正确。但这是应用程序的工作原理。我试图找到解决办法 –

+0

@Mark +1错过了。我的眼睛没有抓住'$和#':) – Praveen

0

你的ID元素选择是无效的 “ID =” tdTL_PAYABLE_TIME $ 0 $ 2" “的ID

0

具有散列(#)在你的ID名是不允许的。”会导致错误,例如:

#tdTL_PAYABLE_TIME$0#6any element with ID 'tdTL_PAYABLE_TIME$0' and also ID '6'

你可以尝试:

.PSSRCHRESULTSODDROW div[style="width:78px;"]:nth-child(1) span:nth-child(1) 
+0

你从哪里得到宽度:78?我需要分配最内层的标记,这是span标记padding-right 20px ... –

+0

对不起,我一定误会了。我以为你想特别针对'span',而不是'td'的第一个'div'中的所有第一个'span'。我正在从它上面的div(ID'win10divTL_QUANTITY $ 0')取得'width:78px;'属性选择器。 **编辑:**你也可以考虑使用':first-type-type伪选择器。 –

+0

我的目标是span标签,并希望应用于padding-right:20px;那个。请帮助,如果你可以 –