- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想弄清楚为什么 mix-blend-mode: color;
css 选择器和值会影响除白色以外的所有颜色,而不是影响除白色和黑色以外的所有颜色。有人可以向我解释为什么会这样吗?
最佳答案
来自 the specification :
color blend mode Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color. This preserves the gray levels of the backdrop and is useful for coloring monochrome images or tinting color images.
因此我们需要考虑 hsl()
颜色,对于白色我们将有 hsl(x, y, 100%)
而对于黑色我们将有 hsl(x, y, 0%)
(不管 x,y 的值是多少)。因此,如果您的背景(背景颜色)是白色或黑色,那么结果颜色将是白色或黑色,因为将保持亮度,无论色调和饱和度的值如何,我们将始终为白色或黑色。
img {
mix-blend-mode:color;
display:block;
}
div {
border:1px solid green;
display:inline-block;
}
<div >
<img src="https://picsum.photos/id/1/200/150">
</div>
<div style="background:#fff;">
<img src="https://picsum.photos/id/1/200/150">
</div>
<div style="background:#000;">
<img src="https://picsum.photos/id/1/200/150">
</div>
现在如果我们考虑我们的颜色将始终是黑色或白色。在这种情况下,将使用黑/白的色调饱和度,我们保持背景颜色的亮度。通常我们将白色和黑色的色调和饱和度定义为 0,所以我们将以 hsl(0,0%,z)
结束,其中 z
将取决于背景图像.这意味着如果我们将黑色或白色视为颜色,我们将得到相同的结果(灰色图像):
div.box {
border:1px solid green;
display:inline-block;
background:url(https://picsum.photos/id/1/200/150);
width:200px;
height:150px;
}
div.box > div {
mix-blend-mode:color;
height:100%;
}
<div class="box">
<div></div>
</div>
<div class="box">
<div style="background:#fff"></div>
</div>
<div class="box">
<div style="background:#000"></div>
</div>
关于css - 为什么 css mix-blend-mode : color; cover all colors except white instead of all colors except white and black?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121568/
假设我有一个类人: public class Person { public string Name {get; set;} public int Age {get; set;} }
我听说过很多关于使用 Expression Blend 制作 HTML/Javascript Metro 应用程序的信息。 但是,我很好奇 Expression Blend 在制作网站(即在所有浏览器
我知道使用混合的 DropShadowEffect,但我需要阴影出现在控件的内部,使其具有内部凹陷的外观。 任何想法将不胜感激。 最佳答案 这是一种使用带有剪切路径的投影来修剪外边缘的技术,只留下阴影
每隔一段时间,我就会在 Blend for Visual Studio 中遇到编译器异常。一切都在编译和工作得很好,然后突然 BAM!我收到编译器错误,告诉我对象不存在于特定的命名空间中。在它们消失之
每当我尝试在 Expression Blend 4 上运行项目时,总会出现错误。 指定的解决方案配置“Debug|MCD”无效。请使用配置和平台属性指定有效的解决方案配置(例如 MSBuild.exe
我似乎很擅长让 Expression Blend 4 在启动时崩溃。该问题似乎与初始化静态托管和非托管变量的死锁有关,因为 Blend 首先打开我的解决方案,其中混合了非托管 C++ 和托管代码项目。
我在混合中显示设计时数据时遇到问题,这是我的代码 这是我的收藏 View 源: 以及使用它的网格 View : 您无法通过在设计器中单击来选择实际的“屏幕”。即使您没有添加其他元素。如果添加任何元素,您将获得预期的典型调整大小行为,但由于您无法选择屏幕,因此您无法调整其大小,甚至无法查看属性。 最佳答案 您可以
我注意到当使用 mix-blend-mode 时,结果与使用 background-blend-mode 时不同,即使你使用相同的混合模式。 例如,比较以下 2 个结果: 我已经在下面复制了我的设置和
我们的版本适用于 Silverlight 5 的 Microsoft Expression Blend 预览 已于 6 月 30 日到期,还有 否 提供在线许可证购买选项。 以下链接指出 Blend
由于SketchFlow中没有网格 Assets ,因此最好的表示方式是什么?每个人都只是使用矩形 Assets 吗? 最佳答案 在提出问题时,存在变通方法和弊端。但是现在-随着刚刚发行的(2010年
我浏览到我想要打开的解决方案中的单个项目,而表达式混合会打开整个解决方案。有什么办法可以避免这种情况? 最佳答案 Expression Blend 和 Visual Studio 共享相同的 .sln
我刚刚开始使用 Blend for Visual Studio 来习惯 WPF。我以前使用标准的 Windows 窗体创建程序,现在想使用更现代的东西。但是我在 5 分钟后就遇到了一个主要问题。我添加
我正在尝试在 Blend 3 中设计一些 UserControl 类。我希望它们的某些部分在运行时创建时“折叠”,但我希望能够编辑它们的组成部分而无需每次都修改代码 build 。 它适用于示例数据源
我正在为我的 Silverlight 2 应用程序构建自定义控件。它在一个 SL 类项目中,它包含两个文件: MyControl 类,继承自 Control,很少有 DepedencyProperti
我想删除绿屏背景,但对我所取得的成就并不完全满意,因为我仍然有绿色边框(尤其是在头发等半透明区域,当我移动头部时)。 色键过滤器的混合参数文档说 blend Blend percentage. 0.0
我开始使用 Blend for VS 2012RC,当我打开 Blend 然后转到 New Project ,我看不到选择项目类型的选项。它完全是空的,如下所示。谁能帮我解决这个问题。 我还尝试在 V
我正在尝试添加对另一个项目(例如 Elysium)中定义的资源库的引用,并在表达式混合中使用它。 这是我在 App.Xaml 文件中合并资源字典的方法。
我试图在加载屏幕时激活一个状态,但它不起作用。 我要做的是,我转到屏幕,右键单击 LayoutRoot,然后转到“激活状态”,然后选择我的状态。然后当我点击这个新生成的 [ActivateStateA
我使用 Blend 创建了 TextBox 模板的副本。我需要在 ValidationErrorElement 中编辑 Path.Data。我怎么做?我可以看到 XAML,但我无法弄清楚如何使用设计器
我是一名优秀的程序员,十分优秀!