2015-12-11 4 views
0

Я хочу создать некоторые плоские UI-блоки, но мне нужна небольшая помощь. Я прошел через некоторые направляющие с линейным градиентом (слева, rgba (255,255,255,0), rgba (255,255,255,1)); и так далее, но я не нашел того, что мне действительно нужно.Линейная непрозрачность CSS

Есть ли способ, как сделать любой слой с линейной непрозрачностью? У меня довольно обширная база данных изображений (так что я определенно не могу сделать Photoshop, чтобы иметь непрозрачность сама по себе), и я загружаю ее во многие «div» в качестве фонового изображения. Но мне нужно, чтобы divs стали прозрачными примерно в 75% от его ширины.

Как это возможно в CSS?

Существует то, что мне нужно достичь:

enter image description here

ответ

1

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

http://jsfiddle.net/u256zkha/

+0

Ну, я отвечу на ваш ответ как на решение, возможно, это будет полезно для кого-то другого, но ... как я сказал в главном посте, у меня их много. Это картинная галерея - изображения, помеченные как избранные из галереи, чтобы быть конкретными. И у пользователя может быть много их ... так что даже если картинки с большими пальцами составляют всего около 300x300 пикселей, то «для цикла» мне здесь не очень нравится.В любом случае, спасибо за помощь и ваше время :) – Zorak

+0

Да, да, я знаю, что это не по теме и может плохо работать с тоннами изображений, но это был единственный способ, которым я мог это сделать. Это для цикла является стандартом, когда вы делаете какие-либо манипуляции с изображением на холсте, и это прекрасно само по себе, но, как я уже сказал, проблема может возникать по мере появления числа изображений. Пожалуйста! :) – Shomz

0

Вы можете установить линейный градиент фон с дополнительной остановкой, чтобы сделать элемент прозрачного 75% от его ширины, а затем линейно увеличивать непрозрачность.

Например:

background: linear-gradient(
    to right, 
    rgba(0,0,0,1) 0%, 
    rgba(0,0,0,1) 75%, 
    rgba(0,0,0,0) 100% 
); 

Это делает элемент имеет непрозрачный черные (три первых значений rbga) фон для 75% от его ширины, а затем линейно перехода к прозрачному в его крайнем правом 25%.

+0

Но это не будет работать для изображений. – Shomz

+0

@Shomz: Вопрос гласит: «Сделать divs стали прозрачными», поэтому я не уверен, что это будет проблемой. В любом случае, тривиально обертывать изображения или что-то еще в дополнительном div и работать с div. – Jon

+0

yep, что я уже пробовал ... style = \ "background-image: linear-gradient (to right, rgba (0,0,0,1) 0%, rgba (0,0,0,0) 75 %), url ("+ item.header.thumb +"); \ и style = \ "background-image: url (" + item.header.thumb + "), линейный градиент (вправо, rgba (0,0, 0,1) 0%, rgba (0,0,0,0) 75%); \ "оба не работают. Как я уже сказал, я уже пытался это сделать, беспокоить других людей - это вариант, только если план A не работает :) (игнорируйте косые черты, это из Javascript) – Zorak

Смежные вопросы