减小尺寸(掩码图像)。你能帮助我吗?

Posted

技术标签:

【中文标题】减小尺寸(掩码图像)。你能帮助我吗?【英文标题】:Reduce size (mask-image). Can you help me? 【发布时间】:2019-05-29 05:25:59 【问题描述】:

颜色是固定的White color icon.png to blue color icon.png (html/css),但是最小(或最大)怎么办?

div 
 width: 50px;
 height: 50px;
 margin: 50px;
 padding: 50px;
 top: 50px;
 bottom: 50px;
 left: 50px;
 right: 50px;
 background-size: 50px;
 mask-size: 50px; /* not supported by Chrome */
 -webkit-mask-image: 50px; /* also not supported by Chrome */

 background-color: blue; /* select your want color */
 -webkit-mask-image: 
 url(https://image.flaticon.com/icons/png/512/54/54591.png);
 mask-image: url(https://image.flaticon.com/icons/png/512/54/54591.png);
 mask-repeat:no-repeat;
 -webkit-mask-repeat:no-repeat;


<div></div>

如何缩小尺寸?

margin: 50px; padding: 50px;

没有

left: 50px; right: 50px; top: 50px; bottom: 50px;

没有

background-size: 50px;

没有

mask-size: 50px; 

不,Chrome 不支持

webkit-mask-size: 50px; 

不,Chrome 也不支持

width: 50px; height: 50px;

没有

怎么办?

【问题讨论】:

你想减小遮罩的大小还是整个图标的大小? 【参考方案1】:

你可以依赖mix-blend-mode而不是蒙版,然后你可以轻松地将图像调整为简单的背景:

div.box 
  width: 50px;
  height: 50px;
  padding: 50px;
  background: url(https://image.flaticon.com/icons/png/512/54/54591.png) center/cover;
  position: relative;
  background-color: #fff;


div.box:before 
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: blue;
  mix-blend-mode: lighten;
&lt;div class="box"&gt;&lt;/div&gt;

你也可以通过调整伪元素只改变图片一部分的颜色:

div.box 
  width: 150px;
  height: 150px;
  background: url(https://image.flaticon.com/icons/png/512/54/54591.png) center/cover;
  position: relative;
  background-color: #fff;


div.box:before 
  content: "";
  position: absolute;
  top: 20%;
  left: 20%;
  right: 20%;
  bottom: 20%;
  background: blue;
  mix-blend-mode: lighten;
&lt;div class="box"&gt;&lt;/div&gt;

【讨论】:

以上是关于减小尺寸(掩码图像)。你能帮助我吗?的主要内容,如果未能解决你的问题,请参考以下文章

Shell debian减小图像尺寸大于特定宽度

使图像适应容器大小保持纵横比

减小 jqDock 中的扩展图像大小

如何在php中减小图像大小?

响应网站;保持图像高度,同时减小宽度?

如何让图像响应屏幕尺寸但不逐渐缩小?