【发布时间】:2021-05-22 04:22:41
【问题描述】:
我想根据用户的屏幕亮度更改背景图像的亮度。让我用一个简单的例子来证明这一点。
例如,让这些成为我的 html 和 css 文件:
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
.hero{
width: 100%;
height: 100vh;
background: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url('https://cdn.decorilla.com/online-decorating/wp-content/uploads/2018/10/modern-interior-design-grey-living-room2.png');
background-size: cover;
background-position: center;
display: flex;
align-items: center;
justify-content: center;
}
.content{
width: 50%;
}
.content h1{
color: #fff;
text-align: center;
font-size: 2rem;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="hero">
<div class="content">
<h1>My Test Text!</h1>
</div>
</div>
</body>
</html>
只有当用户的屏幕亮度较低时效果才好。当屏幕亮度增加时,前景不会从背景中脱颖而出。相反,0.75 的 alpha 值看起来适合明亮的屏幕。
那么有没有办法根据用户的屏幕亮度来改变背景的alpha值呢?任何帮助将不胜感激。
【问题讨论】:
-
颜色确实会根据亮度变亮。你的意思是基于背景的亮度?
-
@Mr_Green 我希望根据屏幕的亮度调整背景的不透明度(亮度越高,alpha 值越高)。不幸的是,到目前为止我得到的答案表明这是不可能的。
-
每种颜色都会根据亮度自动设置。如果您正在对其进行更改,那么这对一般用户可访问性不利。无论如何,如果您想进行更改,则无法通过这些技术来完成,而必须是更核心的技术,例如 .Net for windows(桌面应用程序)。不过我不建议这样做。
标签: javascript html css