匹配可能包含文本的每个元素的CSS选择器?
有没有办法选择可能包含文本的元素 大概是这样的:匹配可能包含文本的每个元素的CSS选择器?,css,css-selectors,Css,Css Selectors,有没有办法选择可能包含文本的元素 大概是这样的: *:text { font-size: 12px; } 我想将其用于我的重置.css,但我找不到一种方法,所以现在我使用以下代码: * { font-size: 12px; } 此解决方案适用于所有基于文本的元素(例如STRONG、p、A等),但它也将此样式应用于非文本元素,如IMG、OBJECT和其他 因此,我想知道是否有其他解决方案可以为所有基于文本的元素设置CSS属性,但没有其他解决方案。我认为没有一种特定的方法可以使用伪选
*:text {
font-size: 12px;
}
我想将其用于我的重置.css
,但我找不到一种方法,所以现在我使用以下代码:
* {
font-size: 12px;
}
此解决方案适用于所有基于文本的元素(例如STRONG、p、A等),但它也将此样式应用于非文本元素,如IMG、OBJECT和其他
因此,我想知道是否有其他解决方案可以为所有基于文本的元素设置CSS属性,但没有其他解决方案。我认为没有一种特定的方法可以使用伪选择器来定位基于文本的元素,但这是了解更多关于伪类的好位置: 下面是一篇关于重置的精彩文章: 这是创建CSS重置的绝佳资源:
不能根据元素是否包含文本来确定其目标,也不能使用css选择器。另一方面,您可以研究为文本设置全局字体大小或样式的最佳方法 用你已经拥有的
* {
font-size: 12px;
}
这是将该样式分配给dom中的所有内容。您可能不这么认为,但它正在将其应用于您的头部、身体、html和页面上的任何标记。你可以选择几个选项,我将从最好的到最坏的列出
html, body { /* this allows the children to inherit this style */
font-size: 12px;
}
body * { /* assigns this style to every tag inside of your body tag */
font-size: 12px;
}
p, span, a, etc { /* you decided what tags would most likely contain text to apply that style */
font-size: 12px;
}
* { /* the worst option, applying that style to every tag */
font-size: 12px;
}
如果您只想为
img
、object
等元素设置样式,那么最简单的解决方案是直接在css中引用这些元素
值得一提的是,
:empty
选择器(伪类)。这并不完全是您想要的,但它会选择没有子元素的元素,包括文本节点。当然,它将包括img
,但也包括一个空的(原文如此!)p
。较旧的浏览器可能不支持它。有趣的问题。然而,你这样做的目的是什么?仅仅使用*、html或正文选择器不会满足您的需要吗?您只需在以下内容之后设置这些其他元素的字体大小:*{font size:12px;}img、object等。{font size:somethine;}
或专门针对包含文本的元素:p、strong等{font size:12px;}
不要使用通用选择器,你想实现什么?大多数情况下,继承将为您完成这项工作。因此,只需为正文
设置字体大小
。如果你真的希望每个文本元素都有一个特定的font size
(还有h1
,h2
等等),你必须在选择器中指定它们。我想说html,body{font size:12px;}
是你最好的选择。这为您使用的任何元素提供了默认字体大小,而不必将其分配给每个元素。您可能会在这里找到您要查找的内容。