你是否能看清这个世界,取决于透明度

本文深入讲解CSS中的透明度设置,包括opacity属性的使用及其对前景色和背景色的影响,同时介绍如何利用RGBA和HSLA模式单独调整颜色透明度。

书接上文,上回书咱们讲了 CSS 里面有关设置颜色值的三种方式。三种方式呢,具体的用法不同、使用的场景可能也不同,但是三种方式咱们都是需要掌握的。尤其是色彩关键字和 RGB 模式这两种,毕竟是目前比较主流的用法。

接下来,咱们来讲一讲颜色世界里面的最后一个内容 - 透明度。没错,你没有看错,就是透明度!之前咱们也不是没有说过它,在说 background-color 属性的默认值时,说是 transparent 就表示透明。

但是,现在咱们要单独地来讲一讲透明度这个内容。

透明度属性

说到透明度呢,在 CSS3 版本里面新增了一个属性,叫做 opacity,就可以用来设置元素的透明度。这个属性的值范围是从 0 到 1 之间的,也就是说:

  • 如果这个属性的值为 0 或者 0.0 就表示元素完全透明。也就是说,在 HTML 页面里面你完全看到这个元素了。
  • 如果这个属性的值为 0.5 或者 .5 就表示元素是半透明的。
  • 如果这个属性的值为 1 或者 1.0 就表示元素是完全不透明的。

知道了上面这三种情况之后,相信你已经想到了 opacity 这个属性的默认值应该是 1。之前咱们已经说了,在 CSS 里面是把颜色分成前景色和背景色的。那这个时候就有个问题出现了,当咱们设置了透明度之后,是影响前景色和背景色,还是只影响其中一种呢?

想要回答这个问题,最好的方式就是通过一个例子来试一试,看看结果就知道了:

<style>
	div {
		color: gold;
		background-color: lightcoral;
	}

	.light {
		opacity: 0.1;
	}

	.medium {
		opacity: 0.5;
	}

	.heavy {
		opacity: 0.9;
	}
</style>
<div class="light">这是一个用来测试的div元素.</div>
<div class="medium">这还是一个用来测试的div元素.</div>
<div class="heavy">这也是一个用来测试的div元素.</div>

这个 HTML 页面运行之后的效果是这样的:

在这里插入图片描述

结果到底是怎么样的,相信你已经从运行的效果上很清晰的看到了。对,opacity 这个属性不仅影响前景色,也会影响背景色。

颜色值的类型

这时候你可能会想问另一个问题了,就是既然 opacity 这个属性是同时影响前景色和背景色,那是不是我就不能单独只设置前景色或者背景色的透明度了呢?答案是可以单独设置的。

上文书中咱们讲了设置颜色值的方式有三种,其中除了色彩关键字方式以外,还有 RGB 模式和 HSL 模式。其实,CSS3 版本里面不仅新增了 opacity 这个属性和透明度有关,CSS3 版本同时还新增了 RGBA 模式和 HSLA 模式,其中这个 A 就是指透明度了。

也就是说,咱们可以通过 RGBA 模式或者 HSLA 模式来单独设置前景色或者背景色,就像这样做:

<style>
	div {
		color: rgba(255, 255, 0, 0.5);
    background-color: rgba(255, 0, 0, 0.5);
	}
</style>
<div>这是一个用来测试的div元素.</div>

这样设置之后,咱们来看看运行后的效果吧:

在这里插入图片描述

写在最后的话

看到这儿,说明你已经掌握了怎么来设置前景色和背景色的透明度了。如果咱们想同时设置前景色和背景色的透明度,就选择使用 opacity 属性;如果咱们想单独设置前景色或者背景色的透明度,可以通过 RGBA 模式或者 HSLA 模式来实现。当然了,我还是建议你使用 RGBA 模式这种,毕竟是目前比较流行的用法。

抱歉,我目前无法查看或分析图片内容,也无法直接读取您上传的图像文件(如 JPG、PNG 等)中的文字或电路引脚信息。 虽然您之前上传了一张名为 `IMG_7177.JPG` 的图片,并询问其引脚情况,但我只能依据您后续粘贴的文字内容进行推理。从您提供的文本来看,似乎是某块单片机开发板的部分标注: ``` LCD1286416品KGI D2R2 FO68888868645677A Y174TEXTODI P6 P7数据接口控制接口12P6411P1 PP1 03HHHHHHHH P? POO P01P02 P8. DS PO3丛度传感器FOR4经鸣器R5P05P06Q1 BELL1D1C PS P07R1e( A35>P4 29P27 LED灯LED1LLED22LED33LED4LED5LED6]LED71LED8十PR2P20222按键C33+十 VCC GNDK1 K2 K3 K4 ``` 这段文字是**图像 OCR 识别失败或乱码的结果**,不完整且有错乱,无法准确还原真实引脚连接。 --- ### 🔍 我能做什么? 如果您能 **手动描述以下信息**,我就能帮您判断代码是否匹配您的开发板: 1. **LCD 显示屏接在哪些引脚?**(例如:P0 数据口,P2.0-RS, P2.1-RW, P2.2-EN) 2. **DS18B20 接在哪一个 IO 口?**(例如:P3.7 或 P1.0) 3. **报警 LED 接在哪个引脚?高电平亮还是低电平亮?** 4. **按键 K1-K4 分别接在哪些引脚?** 5. **是否有使用串口(RS232/USB-TTL)?是否需要打印调试信息?** --- ### ✅ 结论 - ❌ 我**不能看清图片内容**,也无法获取清晰引脚图; - ✅ 您当前使用的代码是一个**通用模板**,只有当您的硬件连接与代码中定义一致时才能正常工作; - 🔧 建议您根据实际接线,**核对并修改代码中的 `sbit` 和端口定义**,确保匹配。 --- ### 🛠 示例:如果您的板子实际接线如下 | 功能 | 实际连接引脚 | |--------------|--------------------| | DS18B20 | P3.3 | | LED_ALARM | P1.1 | | K1 | P3.6 | | LCD RS | P2.1 | | LCD EN | P2.2 | 则您必须修改代码中的定义为: ```c sbit DS = P3^3; sbit LED_ALARM = P1^1; sbit K1 = P3^6; sbit RS = P2^1; ``` 否则功能将失效! --- 请提供您的**实际硬件连接说明**,我可以为您**精确校正代码**,确保在 Keil5 编译并通过烧录运行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值