Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Css 如何设置作为body元素直接子元素的textnodes的样式?_Css_Textnode - Fatal编程技术网

Css 如何设置作为body元素直接子元素的textnodes的样式?

Css 如何设置作为body元素直接子元素的textnodes的样式?,css,textnode,Css,Textnode,我有一个body元素,包含textnodes作为直接子元素,但也包含patragraphs。 现在,我想创建我的css,以便该textnodes获得特定的css设置。 另一方面,我不想对层次结构更深的文本节点(即其中一段的子节点)设置样式 如何设置作为主体元素直接子元素的文本节点的样式,而不设置不是直接子元素的文本节点的样式?检查本教程: 编辑:这里有一个例子 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "

我有一个body元素,包含textnodes作为直接子元素,但也包含patragraphs。 现在,我想创建我的css,以便该textnodes获得特定的css设置。 另一方面,我不想对层次结构更深的文本节点(即其中一段的子节点)设置样式

如何设置作为主体元素直接子元素的文本节点的样式,而不设置不是直接子元素的文本节点的样式?检查本教程:

编辑:这里有一个例子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<style type="text/css">
li>i:first-child
{
color:red;
} 
</style>
</head>

<body>
<ul>
  <li>Coffee <i>- black hot drink</i></li>
  <li>Coca Cola <i>- black cold drink</i></li>
  <li>Test <p>- some text here that's not affected!</p></li>
</ul>
<ul>
  <li>Coffee <i>- black hot drink</i></li>
  <li>Coca Cola <i>- black cold drink</i></li>
</ul>
<p><b>Note:</b> For :first-child to work in IE, a DOCTYPE must be declared.</p>
</body>
</html>

i:第一个孩子
{
颜色:红色;
} 
  • 咖啡-黑热饮
  • 可口可乐-黑色冷饮
  • 测试-此处的某些文本不受影响

  • 咖啡-黑热饮
  • 可口可乐-黑色冷饮
注意:对于在IE中工作的第一个子级,必须声明DOCTYPE


AFAIK无法直接定位文本节点

您可以为正文设置文本节点样式,然后为Ps应用不同的样式

或者,您可以将文本节点放在跨距中,并设置它们的样式。

据我们所知(如果我没有误解您的问题),您不能-您必须覆盖段落或其他子元素的样式。我会这样做:

/* for direct text-nodes */
body{
  color: red; 
}

/* maybe its possible to use "body *" here,
   wich sounds like what you need, but i've
   never tested this
*/
body p{ 
  color: black; /* "default" value here*/
}

那么,用这种方式来定义它怎么样: body*{/*一些通用的普通样式,用于所有文档元素*/}

正文{/*此处的文本节点样式*/}

e、 g


主体{颜色:红色}
正文*{
颜色:蓝色;
}
SDFSD
    sdfs
  • 咖啡-黑热饮
  • 可口可乐-黑色冷饮
jdtzjesome div内容
  • 咖啡-黑热饮
  • 可口可乐-黑色冷饮
fdsfs 注意:对于在IE中工作的第一个子级,必须声明DOCTYPE


我要求将textnodes的样式设置为body元素的直接子元素!对不起,误解了。回答:你不能。至少在某些HTML标记中包含该文本。CSS是向下继承的,据我所知,没有办法禁用它,只能通过为子元素定义CSS来覆盖它。编辑:所以有一种方法!oezi关于“body*”的建议是有效的,只是验证了一下。Thnx对于你们两位,我学到了一些新的东西。不幸的是,这在我的情况下是不可接受的,因为颜色需要在应用于更深层元素的每一个其他类中设置,但是Thnak对于你们的答案(+1)+1,这是我所担心的,那么就没有可接受的方法可以找到:(如果我不想为分配给身体树更深处的元素的每个类添加颜色,则不会
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<style type="text/css">

body {color:red}

body * {
color:blue;
}
</style>
</head>

<body>
sdfsdfsd
<ul>sdfs
  <li>Coffee <i>- black hot drink</i></li>
  <li>Coca Cola <i>- black cold drink</i></li>
</ul>
jdtzje<div>some div content</div>
<ul>
  <li>Coffee <i>- black hot drink</i></li>
  <li>Coca Cola <i>- black cold drink</i></li>
</ul>fdsfs
<p><b>Note:</b> For :first-child to work in IE, a DOCTYPE must be declared.</p>
</body>
</html>