Должен ли он быть динамическим? Единственный способ сделать это - изображение с прозрачностью (GIF или, лучше, PNG).
Я не уверен, что это то, что вы хотите, но все равно объясню.
Ситуация: у вас непрозрачный фон, который вы хотите видеть в тексте.
Решение: CSS не придет на помощь. Вам понадобится ваш верный графический редактор, чтобы создать слой с текстом, а другой слой, который будет отрицательным для вашего текста
Это может позволить вам получить некоторые интересные эффекты, но если вы хотите, чтобы он был динамичным, вам придется генерировать изображения на стороне сервера fly.
Этот вид хитрости в настоящее время невозможен с чистым CSS (возможно с Javascript).
Редактировать
Видение Находка Пола в webkit заставила меня задуматься о том, как имитировать такое поведение в Firefox, Opera и IE. Пока что мне повезло с использованием элемента canvas
в Firefox, и я пытаюсь найти какое-то поведение в filter:progid:DXImageTransform.Microsoft
.
Пока что с canvas
, это то, что я сделал
<html>
<body>
<canvas id="c" width="150" height="150">
</canvas>
<script>
ctx = document.getElementById("c").getContext("2d");
// draw rectangle filling the canvas element
ctx.fillStyle = "red";
ctx.fillRect(0,0,150,150);
// set composite property
ctx.globalCompositeOperation = 'destination-out';
// the text to be added now will "crop out" the red rectangle
ctx.strokeText("Cropping the", 10, 20);
ctx.strokeText("red rectangle", 10, 40);
</script>
</body>
</html>
с помощью составления детонации и рисования текста на canvas
.