我有以下 HTML 标记:
<h1>
<div class="sponsor">
<span>Hello</span>
</div>
World
</h1>
当我使用 CSS 选择器时h1
,我得到Hello World
.
不幸的是,我不能更改标记,我只能使用 CSS 选择器,因为我使用的是聚合 RSS 提要的系统。
是否有任何 CSS 选择器我只能采用文本节点?特别是World
在这个例子中?
我有以下 HTML 标记:
<h1>
<div class="sponsor">
<span>Hello</span>
</div>
World
</h1>
当我使用 CSS 选择器时h1
,我得到Hello World
.
不幸的是,我不能更改标记,我只能使用 CSS 选择器,因为我使用的是聚合 RSS 提要的系统。
是否有任何 CSS 选择器我只能采用文本节点?特别是World
在这个例子中?
这几乎与我上周提出的一个问题相反:是否可以在不使用纯 CSS 中的类或标识符的情况下选择容器中的第一个元素,否则它是纯文本?
最简洁的答案是不。"World"
在这个例子中 不是它自己的元素 - 因此没有办法选择它。
您在这里要做的是样式化,h1
然后用div.sponsor
. 例如,如果您希望此处的“世界”具有黑色背景和白色文本,您可以使用类似于以下内容的内容:
h1 {
background:black;
color:white;
}
h1 div.sponsor {
background:white;
color:black;
}
然而不幸的是,如果您只想要“World”这个词的样式并且您的标记不仅仅包含在 中<div>Hello</div> World Foo
,那么这将不起作用。
我不相信在这种情况下使用纯 CSS 来设置“世界”样式是可能的。
一点解决方法:
h1 {
color: red;
}
h1 * {
color: lime;
}
<h1>
<div class="sponsor">
<span>Hello</span>
</div>
World
</h1>
我也遇到了同样的问题,我无法触摸标记并且无法控制 js。我需要隐藏 div 元素中的文本节点,但该元素保持可见。所以这是我的解决方案:
标记:
<div id="settings_signout_and_help">
<a id="ctl00_btnHelpDocs" class="ico icoHelp" href="http://" Help Guide</a>
Signed in as: <a id="ctl00_lUsr" href="Profile.aspx">some</a>
<a href="Logout.aspx">Home</a>
Sign out
</div>
CSS:
#settings_signout_and_help {
font-size: 1px !important;
}
#settings_signout_and_help a {
font-size: 13px !important;
}
希望这对大家有帮助!
我有一个类似的问题,我必须从 C# 函数生成的 html 中删除“世界”文本。
我在“h1”元素上将字体大小设置为 0,然后将我的 css 应用于 div 类。基本上隐藏额外的文本,但将内容保留在 div 中。
我不知道如何仅使用 CSS,但是...
使用 JQuery,您可以选择其中的所有元素,但其子元素中的内容除外
$("h1:not(h1 > div)").css() 并在其中放置您想要的任何CSS效果。