Основываясь на моей многолетней работе с CSS, короткий ответ - нет. Я думаю, что вы можете сделать это, только добавив какой-то контейнер, хотя он не должен быть вокруг обоих элементов, как вы указали, желая избежать ... вы, конечно, можете просто обернуть его вокруг свободного текста. Но я уверен, что вы уже знали это.
Ничего не зная об этом, я могу думать только о том, чтобы нацелить свободный текст с помощью более высокого элемента DOM, например, затем перезаписать текст, специфичный для класса. Я предполагаю, что вы уже знаете, как это сделать, и что это, вероятно, не поможет, но вот пример для иллюстрации:
body {
color: red;
}
.my-class {
color: black;
}
<html>
<body>
<!-- Example 1 --->
<span class='my-class'>Content</span>
Some more content.
<!-- Example 2 --->
<div class='my-class'>Content</div>
Some more content.
<!-- Example 3 --->
<p class='my-class'>Content</p>
Some more content.
</body>
</html>