我如何设置作为body-element直接子元素的文本节点?

时间:2011-01-21 10:00:15

标签: css textnode

我有一个包含文本节点作为直接孩子的身体元素,但也有patragraphs。 现在,我想创建我的CSS,以便此文本节点获得特定的CSS设置。 另一方面,我不想设置更深层次的文本节点(即其中一段的子节点)。

如何设置作为body-element的直接子元素的文本节点,而不设置非直接子节点的文本节点?

4 个答案:

答案 0 :(得分:3)

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

/* 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*/
}

答案 1 :(得分:1)

AFAIK没有办法直接瞄准文本节点。

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

或者,您可以将文本节点放在SPAN中,然后对它们进行样式设置。

答案 2 :(得分:1)

那么,如何以这种方式定义它: body * {/ *一些普通的简单风格,适用于所有文档元素* /}

body {/ *你的文本节点样式在这里* /}

e.g。

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

答案 3 :(得分:-2)

查看本教程: http://www.w3schools.com/css/tryit.asp?filename=trycss_first-child5

编辑:这是一个例子

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