使用 CSS 混合模式创建令人惊叹的视觉效果的实用指南

WBOY
发布: 2024-08-05 20:00:21
原创
500 人浏览过

A Practical Guide to Creating Stunning Visual Effects with CSS Blend-Modes

大纲

  • 简介
  • 了解混合模式原色属性
  • 混合模式 - 混合混合模式和背景混合模式
  • 混合模式的实际应用
  • 有效使用混合模式的技巧
  • 结论

混合模式是 CSS 数据类型,描述两个或多个 HTML 元素重叠后的结果颜色。借助 CSS 滤镜属性,混合模式使开发人员只需几行 CSS 即可创建丰富、动态的类似 Photoshop 的视觉效果。作为开发人员,它们为您提供了一种强大的方法来增强网站设计的外观和感觉,并使您的网站变得出色和专业。
CSS 为开发人员提供了两种混合模式属性:混合混合模式和背景混合模式。 mix-blend-mode 属性定义元素的内容颜色应如何与元素父元素的其他内容混合。背景混合模式的作用相同,只不过它的重点是将元素的颜色与其背景混合。
CSS 为开发人员提供了 16 个关键字和 5 个用于混合模式属性的全局值,每个值都对您应用的元素具有独特的视觉效果。本指南将帮助您深入了解混合模式,解释每个关键字和全局值、它们的实际应用以及有效使用它们的技巧。

了解混合模式

混合模式用于将元素的内容和背景的亮度、对比度、饱和度和色调调整为相邻元素的内容和背景。为了深入了解混合模式,您需要从图形设计的角度来了解几乎在每个混合模式属性的所有定义中都会遇到的 4 个主要术语。

  • 亮度:它是屏幕每个像素发出的光的强度。为了让眼睛感知物体的颜色,物体需要暴露在光线下。暴露在光线下时,物体会吸收一些光并反射其余的光。反射光的强度是物体光度的度量。您的眼睛将反射光强度感知为物体颜色的亮度,因此,光度基本上就是您的眼睛感知物体颜色的亮度。亮度不仅取决于您的眼睛感知物体颜色的亮度;还取决于您的眼睛感知物体颜色的亮度。它还受到其他 2 个属性的影响:饱和度和色调。
  • 饱和度:此设计属性的范围为 0 - 100%,定义纯色的显示效果。除了一些其他变化之外,设计师还通过添加白色和黑色(灰色)来调低颜色,以实现他们试图重新创建的图像的特定颜色。如果删除了应用于颜色的所有“其他更改”,并且其他颜色属性保持不变,则修改后的颜色中的灰色量定义了其不饱和程度。然而,在颜色中完全没有灰色的情况下,颜色的饱和度百分比为 100,这意味着该颜色是绝对纯净的。由于任何低于 100 的饱和度百分比都表明特定颜色已被调色,因此颜色的亮度也会由于颜色中的杂质(灰色)而改变。
  • 色调:简单来说,它是颜色最纯粹的表现。不要将它与饱和度属性混淆。在纯色中添加任何灰色都会降低其饱和度百分比,从 100 开始。颜色在饱和之前的纯形式是“色调”。虽然其他颜色属性保持不变,但色调是没有色调(添加任何程度的白色)或阴影(添加任何程度的黑色)的颜色。就像篡改颜色的饱和度会扰乱其亮度一样,篡改色相也会产生同样的效果。
  • 对比度:在这种情况下,它是两种或多种色调之间的差异。它赋予每种颜色独特的属性,使人们能够轻松区分颜色。

现在已经正确剖析了原色属性,是时候了解它们如何与每个混合模式属性相关并赋予其独特的效果了。

ブレンド モード — ミックスブレンドモードとバックグラウンドブレンドモード

CSS ブレンド モード プロパティは、透明および半透明の要素とその下にあるコンテンツとのブレンド動作を制御する場合に特に役立ちます。さらに、不透明な要素に適用して、通常は魅力的な効果を生み出すこともできます。ブレンド モードを使用すると、Web 開発者は、明るさの調整、2 色以上の混合、2 つ以上の重なり合うコンテンツのコントラストの増加、重なり合う要素の前景色と背景色の違いを明らかにすることにより、色の組み合わせ方を操作できるため、さまざまな結果が得られます。デザイン効果
mix-blend-mode プロパティは、要素のコンテンツが同じ親および背景の他のコンテンツとどのように混合されるかを定義し、background-blend-mode は、要素の背景画像が同じ要素および背景内の他の背景画像とどのようにブレンドされるかを定義します。色。 background-blend-mode プロパティは、少なくとも 1 つの背景画像を持つ要素に対して機能しますが、mix-blend-mode プロパティは、背景画像の有無にかかわらず、任意の要素に対して機能します。両方のプロパティは、スタイルを定義するための 16 のキーワードと 5 つのグローバル値を共有します。

  • 通常: 通常はデフォルト値です。ブレンド モード プロパティが標準の要素には目に見える変化はありません。これは、不透明な紙を別の不透明な紙の上に置くのと同じです。一番上の紙の色しか見えません
  • 乗算: その名前が示すように、結果の色は前景色と背景色を乗算することによって得られる効果です。これは、半透明のビニール袋を別のビニール袋に重ねることに似ています。一番上の要素の色が明るくなるほど、ベース要素の色がよりはっきりと現れます。
  • 画面: 前景色と背景色が反転され、結果に乗算効果が適用され、最終的に再び反転されます。この効果では、前景色が暗いほど、背景色がより透けて見えます。
  • オーバーレイ: この効果は、背景色に基づいて乗算またはスクリーン効果として表示されます。背景色が暗い場合は乗算効果が組み込まれ、背景色が明るい場合は画面効果を放ちます。
  • 明るくする: 結果として得られる色は、両方の色の要素の明るい方と同等です。
  • 暗くする: 結果として得られる色は、両方の色の要素の暗い方と同等です。
  • カラー覆い焼き: 背景色を反映するために前景色 (または背景画像) を明るくします。
  • カラー焼き込み: カラー覆い焼きの逆。コントラストの高い背景色を前景色 (または背景画像) に反映します。
  • ハードライト: オーバーレイに似ていますが、レイヤーが交換されます。乗算またはスクリーン効果を与えることができますが、オーバーレイとは異なり、前景色に依存します。前景色が暗い場合は乗算効果が得られ、前景色が明るい場合はスクリーン効果が得られます。
  • ソフトライト: ハードライトに似ていますが、そのソフトバージョンです。乗算/スクリーンの代わりにカラー焼き込み/カラー覆い焼きを使用します。
  • 違い: 結果として生じる効果は、明るい色の要素から暗い色の要素を減算することによって得られます。
  • 除外: 違いと似ていますが、コントラストが柔らかくなります。
  • 色相: 前景色の色相と背景色の彩度と明度で構成されます。
  • 彩度: 色相に似ていますが、役割が逆になります。前景色の彩度、背景色の色相と明度が混合されて、最終的な効果が得られます。
  • 明度: 色相と似ていますが、役割が逆です。前景色の明度と背景色の色相と彩度が混合されて、最終的な効果が得られます。
  • カラー: この効果では、前景色の色相と彩度と背景色の明度が混合されて、最終的な効果が得られます。
  • ブレンドモードの実践的な応用

動的な画像オーバーレイの作成

ブレンド モードを使用すると、魅力的な画像オーバーレイを作成し、Web デザインに深みと面白みを加えることができます。画像にカラー オーバーレイを作成する方法の例を次に示します:

リーリー
この CSS は画像の上に青いオーバーレイを作成し、ムードのある映画のような効果を与えます。

タイポグラフィーの強化

ブレンドモードを使用すると、複雑な背景に対してテキストを目立たせることができます。ブレンド モードを使用してテキストを読みやすくする方法は次のとおりです:

リーリー
これにより、背景に基づいて色が反転され、明るい背景と暗い背景の両方に対してテキストが見えるようになります。

印象的な背景をデザインする

複数の背景画像をブレンドして、ユニークな背景効果を作成します:

リーリー
これはテクスチャ画像とグラデーションを組み合わせて、豊かなテクスチャ背景を作成します。

Artistic Image Manipulation

Use blend modes to apply artistic effects to images without the need for image editing software:

.artistic-image { background-image: url('portrait.jpg'); background-color: #ff00ff; /* Magenta */ background-blend-mode: color; }
登录后复制

This applies a colourization effect to the image, similar to duotone effects in print design.

Tips for Using Blend Modes Effectively

  1. Start Simple: Begin with basic blend modes like multiply or screen before moving on to more complex ones.
  2. Consider Accessibility: Ensure that text remains readable when using blend modes. Always test your designs with different colour blindness simulations.
  3. Test Across Browsers: Not all browsers support all blend modes equally. Always test your designs in multiple browsers and have fallbacks ready.
  4. Be Mindful of Performance: Overusing blend modes, especially on large images or backgrounds, can impact page performance. Use them judiciously.
  5. Combine with Other CSS Properties: Blend modes work well with opacity, filters, and animations to create even more interesting effects.
  6. Use with SVGs: Blend modes can create fascinating effects when applied to SVG elements.
  7. Experiment: Don't be afraid to try unexpected combinations. Sometimes the most interesting effects come from experimentation.
  8. Consider Dark Mode: If your site has a dark mode, remember that blend modes might behave differently on dark backgrounds.
  9. Document Your Work: When using complex blend mode combinations, leave comments in your CSS to explain the intended effect.
  10. Use Dev Tools: Browser dev tools are invaluable for tweaking real-time blend modes. Use them to fine-tune your effects.

Browser Compatibility

While most modern browsers support blend modes, there are still some considerations:

  • Internet Explorer does not support blend modes at all.
  • Some older versions of browsers may have limited support.
  • Mobile browsers generally have good support but always test on actual devices.

For up-to-date compatibility information, check Can I Use.

Performance Considerations

Blend modes are generally performant, but can cause issues if overused:

  • Applying blend modes to large areas or many elements can slow down rendering.
  • Animated blend modes can be particularly resource-intensive.
  • Consider using will-change: background-blend-mode; or will-change: mix-blend-mode; for frequently changing blend modes, but use sparingly as it can consume memory.

Conclusion

CSS blend modes offer web developers and designers a powerful tool to create stunning visual effects with minimal effort. By understanding the principles behind blend modes and how they interact with colour properties like luminosity, saturation, and hue, you can create designs previously only possible with image editing software.
From enhancing typography and creating dynamic image overlays to designing striking backgrounds and manipulating images artistically, blend modes open up a world of creative possibilities. Remember to use them judiciously, always keeping in mind accessibility, performance, and cross-browser compatibility.
As web design continues to evolve, mastering blend modes will give you an edge in creating unique, eye-catching designs that stand out in the digital landscape. Don't be afraid to experiment and push the boundaries of what's possible with CSS – you might discover exciting new techniques that elevate your web design to the next level.
Lastly, here's a suggested "Resources" section to round out the article:

Resources for Further Learning

To deepen your understanding and skills with CSS blend modes, check out these valuable resources:

  1. MDN Web Docs on Blend Modes - Comprehensive documentation on all blend mode properties.
  2. CSS Tricks - CSS Blend Modes - A practical guide with examples and explanations.
  3. Codrops CSS Reference - Blend Modes - Interactive examples of different blend modes.
  4. Can I Use - CSS Blend Modes - Up-to-date browser compatibility information.
  5. Adobe Color - A tool for creating colour schemes that work well with blend modes.
  6. Blend - CSS Playground - An interactive tool to experiment with different blend modes.
  7. CSS Blend Mode Generator - A CodePen demo to generate blend mode effects.

These resources will help you explore the full potential of CSS blend modes and inspire you to create unique visual effects in your web projects.

Cover photo by Hitesh Choudhary

以上是使用 CSS 混合模式创建令人惊叹的视觉效果的实用指南的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!