2013-02-12 63 views
4

我不确定这是否可行,但如果是这样的话,它将非常有帮助。我正在Volusion框架中的电子商务网站上工作,并且在Volusion网站上动态生成大量文本。大部分文字都是在<span> S或<div> S作为正常的,但每过一段时间有一个“:”这是一个类别标题后显示。你可以看到它在下面的代码,我从一个页面抓起我的工作:使用CSS来定位没有容器的文本

<td> 
<span class="PageText_L71n">Qty</span>: 
<input type="text" class="v65-productdetail-cartqty" name="QTY.WA-SSPURSE" size="3" maxlength="8" onkeydown="javascript:QtyEnabledAddToCart();" value="1"> 
</td> 

可以说是刚刚被显示,但在任何容器中的</span>后观察结肠。有什么方法可以达到目标吗?我试图把一个display:nonevisibility:hidden就可以了,因为我在做相当多的自定义编码的,它只是挂在那里现在。

感谢您的帮助!

+2

CSS不能选择文本节点。但是,这包含在'​​'中。你可以使用它或你的优势或使用JavaScript – 2013-02-12 03:13:58

+1

@ExplosionPills,啊好吧是的我刚刚有想到将td中的文本颜色设置为'白色',因为该网站上的背景是白色,然后设置跨文本颜色与'!重要'是黑色的,因此它覆盖了它。这可能有效。有时只需要某人说点什么! – MillerMedia 2013-02-12 03:45:14

回答

7

如果你知道结肠的时间提前的容器,你可以改变字体颜色相匹配的背景或使用font-size: 0(这是我喜欢的,因为它也消除不必要的空间):

td { 
    font-size: 0; 
} 
td * { 
    font-size: 14px; 
} 

显然调整针对您的网站的具体细节。

-1

如果td中的所有元素都已知,那么使用:after和:之前的伪选择器来指定它们全部。

td span:after { 
    content:"<span class="hide">"; } 
td input:before { 
    content:"</span>"; } 
.hide { 
    display:none; } 

我没有测试过这个也没有使用这些选择器,但它应该工作。

如果有多个相同类型的元素,比如三个输入,你可以在td上使用第n个子选择器。

+0

我只是看着这个,发现它只是插入纯文本。 HTML不会呈现。哑。 :( – fredsbend 2013-02-12 04:59:57

+0

如果可以用CSS插入HTML,那么没有理由拥有HTML,所有的都可以用CSS来完成 – 2017-10-09 18:24:50

+0

@Max有一段时间我们根本没有css,所以相反的观点可能会进行。该CSS可以用来创建内容,因为这些选择做的想法,坦率地说违背原意的,这是值得商榷的是重复的内容,主要使用这些选择的,是风格,而不仅仅是内容。我自从我在5年半前提出这个答案以来,我就对这个问题有了很多想法 – fredsbend 2017-10-09 19:48:12