TYPECHO WIKI
每一个作品都值得被记录

纯CSS根据图片取色设置背景色

Typecho维基君站长快讯 • 926次浏览 • 发布 2023-02-02 • 更新 2023-03-23

韩国动漫视频网站截图.jpeg

前几天无意间访问到了个韩国的动漫视频站,然后看到个页面每个div背景色都不同疑似根据图片进行的取色,然后就想看看他是用什么js设置的,f12一看发现好像不是js,然后我就以为是写死的,想看看怎么写的,结果一看不要紧,学到个骚操作。

代码

Html部分的核心代码

<div class="board">
<div class="images">
<div class="image" style="background-image:url(图1)"></div>
<div class="image" style="background-image:url(图2)"></div>
<div class="image" style="background-image:url(图3)"></div>
</div>
<div class="blurred" style="background-image:url(图1)"></div>
</div>

Css部分核心代码

.board {
    background: rgb(208, 208, 208);
    height: 208px;
    position: relative;
    overflow: hidden;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}
.board .blurred {
    position: absolute;
    inset: 0px;
    background-size: 20000%;
    background-position: center top;
    background-repeat: no-repeat;
    filter: brightness(0.9);
}

分析

从代码里可以看到,实际上他就是用<div class="blurred" style="background-image:url(图1)"></div>来把图1设置成了背景,然后使用background-position: center top;让背景图x轴居中y轴靠上,然后再使用background-size: 20000%;将背景图放大200倍,然后图片背景看起来就是纯颜色的了。

根据需求我们可以更改background-position的值,设置取色位置!

转载自:https://blog.zezeshe.com/archives/css-color-picture.html

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »