css添加背景图片渐变透明

使用场景: 在做两个元素的连接处的UI适配时,图片的颜色不能保证一定跟背景颜色或者是主色调保持一致时,会显得比较突兀。
注意:本次使用的方法只适用于背景色为纯色

正常情况下:
在这里插入图片描述

使用图片渐变后:
在这里插入图片描述

  1. 利用 background-image: linear-gradient(direction,color1,color2), url(*) (推荐)
<head>
	<style>
		.linearBg{
			background-image: linear-gradient(90deg,transparent,#fff), url(1.jpg);  // #fff表示需要兼容的底色
		    width: 200px;
		    height: 200px;
		    background-size: 40%, contain;	// 40%表达需要渐变的宽度
		    background-repeat: no-repeat; 
		    background-position: right;  // right表示渐变对齐的方向
		}
	</style>
</head>
<body>
	<div class="linearBg"></div>
</body>

  1. 利用css伪类添加渐变透明蒙层
<head>
	<style>
		.linearBg{
  			background-image:url(1.jpg);
  			width:200px;
  			height:200px;
  			background-size: contain;
		    background-repeat: no-repeat;
		    background-position: center;
		    position: relative;
		    &::before{
		      content: '';
		      position: absolute;
		      top: 50%;
		      right: 0%;
		      width: 40%;	// 40%表达需要渐变的宽度
		      height: 100%;
		      transform: translateY(-50%);
		      background: linear-gradient(90deg,transparent,#fff);  // #fff表示需要兼容的底色
		    }
		}
	</style>
</head>
<body>
	<div class="linearBg"></div>
</body>

### CSS3 中实现背景图像与渐变效果的方法 在现代Web设计中,结合使用背景图片渐变能够显著提升视觉吸引力。虽然CSS本身不允许直接将图片作为渐变的颜色停止点,但是可以通过巧妙的方式达到类似的效果。 #### 使用线性渐变叠加背景图 一种常见的做法是在背景图片之上应用`linear-gradient()`函数创建半透明渐变层。这允许渐变覆盖于图片顶部而不完全遮挡原始图像: ```css background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('image.jpg'); background-size: cover; ``` 此代码片段定义了一个从黑色到黑色(带有50%不透明度)的线性渐变,并将其应用于整个元素区域[^2]。同时设置了背景大小属性以确保图片能适应容器尺寸。 #### 创建多层背景组合 还可以利用多个背景声明来构建更复杂的布局。例如,在一张高分辨率风景照上方添加柔和的色彩过渡条带: ```css body { background: linear-gradient(to right, transparent, rgba(255, 255, 255, .8)) no-repeat, url('/path/to/image.png') center/cover no-repeat fixed; } ``` 这里展示了两个独立但共存的背景设置——一个是水平方向上的白色至全透明渐变;另一个则是居中的固定位置大图。 #### 利用伪类模拟复杂交互 对于希望给特定状态下的组件增加动态变化的情况,可以考虑运用`:hover`, `::before`, 或者 `::after`等伪类配合媒体查询来进行响应式的调整。比如当鼠标悬停时改变按钮样式: ```css button:hover::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: radial-gradient(circle at center, #ffeb3b, #ffc107); } ``` 上述例子说明了如何在一个悬浮状态下向按钮内部注入圆形放射状渐变光晕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扛着猪头敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值