Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   необычная тень текста (https://javascript.ru/forum/misc/35687-neobychnaya-ten-teksta.html)

zlodiak 19.02.2013 10:54

этим скриптом не получается сделать чёткий переход от серого к белому как в моей задаче. всё время получается плавный градиент, а мне бы этого не надо...

tadjik1 19.02.2013 10:55

а если так попробовать?
http://css-tricks.com/snippets/css/gradient-text/
а для блока текста устанавливаете background-color: transparent.
http://htmlbook.ru/css/background-color


я правда сам не пробовал, и в цсс полный ноль, только осваиваю, но может же заработать?

upd: неплохой еще вариант — тупо взять, да вырезать текст картинкой .png с прозрачным фоном в фотошопе. работает во всех браузерах, занимает мало место, не тратит вашего времени. и кроме того, имхо, это самое правильное решение для подобных заголовков.

tadjik1 19.02.2013 11:04

<style>
h1#demo {
font-size: 60px;
background: -webkit-linear-gradient(top, #DDD 30%,#000 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style>

<h1 id="demo">
Example</h1>


upd. только картинкой :)

zlodiak 19.02.2013 11:15

вот кстати нашёл http://dgreeze.ru/jscript/14-gradienty-dlya-teksta.html

может кому-нибудь тоже пригодится

всем спасибо за помощь

vashurin 19.02.2013 11:25

Цитата:

Сообщение от zlodiak (Сообщение 235459)
вот кстати нашёл http://dgreeze.ru/jscript/14-gradienty-dlya-teksta.html

может кому-нибудь тоже пригодится

всем спасибо за помощь

В принципе, задачу можно решить как то так:
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
  <meta charset="utf-8" />
  <style type="text/css">
 body{
   background-color: #030D46;
   text-align: center;
   font-size: 24px;
   height: 50px;
   width: 700px
 }
 div {
	overflow:hidden;
	position:absolute;
	left: 5px;
	white-space:nowrap;
 }
 .text {
	color: #999;
	height: 17px;
	top:5px;
 }
 .text2 {
	color: #fff;
	height: 9px;
	top:22px
 }
 .text2 span {
	display: block;
	position:relative;
	left:0;
	top:-17px;
	height: 18px;
 }
   </style>
</head>
<body>
<div class="text"><span>Привет мир!</span></div>
<div class="text2"><span>Привет мир!</span></div>
</body>
</html>

Хотя, за ссылку спасибо, вдруг пригодится :)

danik.js 19.02.2013 11:38

Цитата:

Сообщение от vashurin
В принципе, задачу можно решить как то так:

Такой способ уже предлагал рони. Только у него все проще - подключил скрипт, задал опции - и готово :)

vashurin 19.02.2013 11:42

Цитата:

Сообщение от danik.js (Сообщение 235466)
Такой способ уже предлагал рони. Только у него все проще - подключил скрипт, задал опции - и готово :)

Ну автора топика, тот скрипт не устроил (почему то zlodiak не смог задавать цвета без переходов). А тут и скриптов не надо, чистая верстка HTML :).
Хотя, кому, что интереснее.

danik.js 19.02.2013 12:30

Цитата:

Сообщение от vashurin
Хотя, кому, что интереснее.

Я верстальщик. Но я бы выбрал вариант со скриптом. Зачем вручную проделывать всю эту рутинную работу, когда есть готовый скрипт? Да и с точки зрения семантики со скриптом предпочтительней. Еще более предпочтителен вариант с css-mask, но его пока рано применять.

zlodiak 21.02.2013 22:26

к сожалению, уважаемая общественность, ни один из предложенных способов не подходит

способ рони нехорош тем, что невозможно количественно регулировать градиент. например мне нужно чтобы он распространялся от верхней части буквы вниз на 30%.

в способе, который я предложил тоже есть подвох. высота строки становится неконтролируемо большой. непонятно с чем это связано. это особенно заметно когда строк текста несколько. отступы по бокам пропадают.

danik.js 21.02.2013 22:52

Цитата:

Сообщение от zlodiak
невозможно количественно регулировать градиент

Всмысле плавный градиент? Да, там только шагами. Да и то, задавать неудобно - там задается не в процентах, а в шагах


Часовой пояс GMT +3, время: 23:27.