Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用CSS以没有容器的文本为目标_Html_Css_Text - Fatal编程技术网

Html 使用CSS以没有容器的文本为目标

Html 使用CSS以没有容器的文本为目标,html,css,text,Html,Css,Text,我不确定这是否可能,但如果可能的话,这将非常有帮助。我正在Volusion框架中的一个电子商务站点上工作,很多文本是在Volusion站点上动态生成的。大多数文本通常在s或s中,但偶尔会在类别标题后显示“:”。你可以在下面的代码中看到,我从我正在处理的页面上抓取了这些代码: <td> <span class="PageText_L71n">Qty</span>: <input type="text" class="v65-productdetail-ca

我不确定这是否可能,但如果可能的话,这将非常有帮助。我正在Volusion框架中的一个电子商务站点上工作,很多文本是在Volusion站点上动态生成的。大多数文本通常在
s或
s中,但偶尔会在类别标题后显示“:”。你可以在下面的代码中看到,我从我正在处理的页面上抓取了这些代码:

<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>

数量:
您可以在刚刚显示的
后面看到冒号,但它不在任何容器中。有没有办法瞄准这个目标?我试图在它上面放置一个
显示:无
可见性:隐藏
,因为我正在做大量的自定义编码,它现在就挂在那里


谢谢你的帮助

如果您提前知道冒号的容器,您可以更改字体颜色以匹配背景,或者使用
字体大小:0
(我喜欢这样做,因为它还可以删除不必要的空间):


显然,要针对适合您的站点的具体情况进行调整。

如果td中的所有元素都已知,则使用:after和:before伪选择器将所有元素作为目标

td span:after {
    content:"<span class="hide">"; }
td input:before {
    content:"</span>"; }
.hide {
    display:none; }
td-span:after{
内容:;}
td输入:之前{
内容:;}
.隐藏{
显示:无;}
我没有测试过这个,也没有使用过这些选择器,但它应该可以工作


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

CSS无法选择文本节点。但是,它包含在
中。你可以利用这个优势,也可以利用它JavaScript@ExplosionPills,啊,好的,是的,我刚想到把td中的文本颜色设置为“白色”,因为网站上的背景是白色的,然后用“!“重要”,所以它会覆盖它。这可能行得通。有时候只是需要有人说点什么!我只是查看了一下,发现它只插入纯文本。HTML将不会呈现。哑巴(如果可以用CSS插入HTML,就没有理由使用HTML,一切都可以用CSS来完成。@Max有一段时间我们根本没有CSS,所以可以提出相反的论点。CSS可以像这些选择器那样用于创建内容的想法,这显然违背了初衷。重复使用c是有争议的content是这些选择器的主要用途,它是样式,而不仅仅是内容。自从5年半前我给出这个答案以来,我对这个主题考虑了很多。@Max除了html标记外,你还可以用JavaScript制作每个标记。有很多理由认为这些选择器不应该添加标记,但是“那么我们就不需要html了”不是一个好的选择。我要说的是CSS不应该与HTML(内容)相混淆,而应该与样式相混淆。目前,
:before
:after
非常方便,可以通过CSS和其他伪选择器添加更多元素。但这些元素不应该影响内容(例如:通过css或带有自定义类的元素插入文章内容)。他们应该只设置样式(对角线、自定义加载程序等)。目前,如果我想制作一个带有4个浮动球的加载程序,我需要2个HTML元素或伟大的css破解。在这一点上,我同意css应该更强大。
td span:after {
    content:"<span class="hide">"; }
td input:before {
    content:"</span>"; }
.hide {
    display:none; }