我希望完全隐藏.byline
中的所有内容,除了日期。是否可以通过CSS实现此目的而不修改标记?是否有CSS选择器可以针对不在标签中的内部文本进行定位?
<p class="byline">
By <a rel="author" href="#">John Doe</a>
on <time datetime="2012-10-10" pubdate>2012</time>
</p>
这段代码不起作用,因为它只隐藏了a
标签,而未隐藏其他文本:
.byline :not(time) { display:none }
这并不起作用,因为它会隐藏所有内容:
.byline { display:none }
.byline time { display:inline }
这种方法可以实现,但不是最理想的,因为您还需要处理隐藏空格:
.byline { visibility:hidden }
.byline time { visibility:visible }
参见:jsfiddle.net/pxxR7/ 和 jsfiddle.net/pxxR7/1/
font-size
和font-weight
搞混。 - Chris.byline
元素的color
设置为transparent
(然后再重置元素以显示),因为我记得 IE 在使用0px
作为字体大小时会出现一些问题。 - David Thomas