Анна Петяева
Сайты на cms joomla

Непрозрачный текст на прозрачном фоне
Веб-мастерство
27.04.2011 20:51

Почему я решила написать о том, как сделать непрозрачный текст на прозрачном фоне? При помощи css, заметьте. Есть несколько рецептов в рунете нашем — то есть один рецепт в нескольких исполнениях. Но я ведь пишу для себя. Мне будет удобнее, чтобы этот способ — сделать непрозрачный текст на прозрачном фоне — был зафикисрован тут же, в моем виртуальном дневнике. Я очистила этот код от всего лишнего, чтобы явно была видна идея этого простого и хитроумного трюка.

Итак. Хотим добиться, чтобы на фоне красных цветов по полупрозрачной белой подложке шел внятный черный текст. Как на картинке.

Как сделать непрозрачный текст на прозрачном фоне

Пишем html:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>neprozrachnyj text</title>
<link href="/style.css" rel="stylesheet" type="text/css" /></head>
<body>
<div id="content">
<div id="transparent">&nbsp;</div>
<div id="text">
YOUR TEXT HERE
</div>
</div>
</body>
</html>

Как видите, здесь текст не стоит в контейнере transparent, контейнер transparent ничем не заполнен. Он дает прозрачность, но на цвет текста не влияет.

Пишем css:

body {
background: url('/red_flowers.jpg') fixed top center;
}

#content {
position:relative;
margin: 0 auto;
width:500px;
height: 500px;
color:#000;
overflow:hidden;
}

#transparent {
opacity:0.7;
filter:alpha (opacity=70);
-moz-opacity:0.7;
background-color:#fff;
width:500px;
height:2500px;
position:absolute;
}

#text{
position:relative;
padding: 10px;
}

Для контейнера transparent задается патологически большая высота, а внешний для него сontent делаем нужной высоты, я для наглядности поставила 500px. Излишки сontent (навязанные прозрачным дивом) скрываем: overflow:hidden;

Контейнер для текста небогат качествами, но необходим для нашего волшебства. Я вижу в решении этой задачи некую магию, как и вообще в верстке: пишешь буковки в блокноте, а получается настоящая картина. Те, кто верстает в дримвивере или еще в чем-то подобном, лишают себя чистого удовольствия вдыхать разреженный воздух высокой абстрактности. Мой выбор инструмента для верстки — Notepad++ !!!

Эту конструкцию -  непрозрачный текст на прозрачом фоне -  можно скачать по ссылке.

Примечание для ie: здесь, как обычно, все не как у людей. Если у нас внутри блока text какая-то сложная конструкция — скажем, в две или в три колонки — нужно каждой содержательной части приписать значение position:relative; — иначе в ie вся красота нарушится. В других браузерах достаточно приписать это  контейнеру text, и все внутренние блоки унаследуют и эту позицию, и непрозрачный текст, а вот в ie если не пропишешь каждому внутреннему блоку position:relative; — непрозрачный текст на прозрачном фоне не увидишь. Век живи — век учись! Из всех браузеров именно ie дает возможность верстальщику почувствовать себя победителем. Разве нет?

 


Найти меня...