热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

标题栏背景色随背景图片自适应

Document这是一个测试1234注:提供三种颜色混合方式,主次混合颜色偏暗
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Documenttitle>
    <style>
        .box { width: 600px; height: 600px; box-shadow: inset 0 60px rgba(255,255,255,.2), inset 0 0 300px rgba(255,255,255,.1), inset 50px -20px 0 rgba(255,255,255,.1), inset -300px 120px rgba(255,255,255,.06); -webkit-transition: background-color .25s; transition: background-color .25s; overflow: hidden; position: relative;}
        #title{position: absolute;width: 100%;height: 40px;line-height: 40px;z-index: 9000;text-align: center;color:#fff;
box-shadow: 2px 2px 2px rgba(0,0,0,.2);-webkit-box-shadow: 2px 2px 2px rgba(0,0,0,.2);-moz-box-shadow: 2px 2px 2px rgba(0,0,0,.2);-o-box-shadow: 2px 2px 2px rgba(0,0,0,.2);-ms-box-shadow: 2px 2px 2px rgba(0,0,0,.2);
        }
        .list { width: 600px; height: 600px; position: absolute; text-align: center; }
        .list > img { vertical-align: middle; box-shadow: 0 0 10px rgba(0,0,0,.35) }
        .list::after { content: ‘‘; display: inline-block; width: 0; height: 100%; vertical-align: middle; }
        .index { width: 600px; margin-top: 20px; text-align: center; }
        a { display: inline-block; margin: 0 2px; width: 16px; height: 16px; line-height: 16px; border-radius: 14px; background-color: #ddd; text-align: center; color: #333; font-family: ‘microsoft yahei‘; font-size: 12px; }
        a:hover { text-decoration: none; }
        .active { background-color: #cd0000; color: #fff; }
        #show{width: 20px;height: 20px;border: 1px solid #ddd;}
    style>
head>
<body>
    <div id="box" class="box">
        <div id="title">这是一个测试div>
        <div id="list1" class="list"><img src="imgs/1.jpg">div>
        <div id="list2" class="list"><img src="imgs/2.jpg">div>
        <div id="list3" class="list"><img src="imgs/3.jpg">div>
        <div id="list4" class="list"><img src="imgs/4.jpg">div>
    div>
    <div id="index" class="index">
        <a>1a>
        <a>2a>
        <a>3a>
        <a>4a>
    div>
    <div id="show">div>
body>
html>
<script src="jquery-1.10.2.js">script>
<script src="rgbaster.js">script>
<script>
    $(function(){
        $("#index").find("a").click(function(){
            var index=$(this).index()+1;
            var list=$("#list"+index);
            list.show();
            list.siblings(".list").hide();
            var src=list.find("img").attr("src");
            RGBaster.colors(src, {
                paletteSize: 30, // 调色板大小
                  exclude: [ rgb(255,255,255),rgb(0,0,0) ],  // 为了使取色更合理,排除白色,黑色
                success: function(payload) {
                    // payload.dominant是主色,RGB形式表示
                    // payload.secondary是次色,RGB形式表示
                    // payload.palette是调色板,含多个主要颜色,数组    
                    var color1=MixColor1(payload.secondary,0.8);
                    var color2=MixColor3(payload.secondary,payload.dominant,0.7);
                    console.log(payload.dominant);
                    $("#title").css("background-color",color2);
                    $("#show").css("background-color",color2);
                }
            });            
        })    
    })

    //与白色按比例进行混合
    function MixColor1(rgb,rate){
        var regexp = /[0-9]{0,3}/g;  
           var re = rgb.match(regexp);
           var color1 = [];
           var color2 = [255,255,255];
           var rate1=rate,rate2=1-rate1;

        for (var i = 0; i < re.length; i++) {
               var t = re[i];
               if(t!==""){
                   color1.push(parseInt(t));
               }
       }

       var r=parseInt(color1[0]*rate1+color2[0]*rate2);
       var g=parseInt(color1[1]*rate1+color2[1]*rate2);
       var b=parseInt(color1[2]*rate1+color2[2]*rate2);
           return "rgb("+r+","+g+","+b+")";
    }

    //主色和次色按比例进行混合
    function MixColor2(rgb1,rgb2,rate){
        var regexp = /[0-9]{0,3}/g;  
           var re1 = rgb1.match(regexp);
           var re2 = rgb2.match(regexp);
           var color1 = [];
           var color2 = [];
           var rate1=rate,rate2=1-rate1;

        for (var i = 0; i < re1.length; i++) {
               var t1 = re1[i];
               var t2 = re2[i];
               if(t1!==""){
                   color1.push(parseInt(t1));
                   color2.push(parseInt(t2));
               }
       }

       var r=parseInt(color1[0]*rate1+color2[0]*rate2);
       var g=parseInt(color1[1]*rate1+color2[1]*rate2);
       var b=parseInt(color1[2]*rate1+color2[2]*rate2);
           return "rgb("+r+","+g+","+b+")";
    }

    //主色、次色和白色按比例进行混合,白色占比20%
    function MixColor3(rgb1,rgb2,rate){
        var regexp = /[0-9]{0,3}/g;  
           var re1 = rgb1.match(regexp);
           var re2 = rgb2.match(regexp);
           var color1 = [];
           var color2 = [];
           var color3 = [255,255,255];
           var rate1=rate*0.8,rate2=(1-rate)*0.8,rate3=0.2;

        for (var i = 0; i < re1.length; i++) {
               var t1 = re1[i];
               var t2 = re2[i];
               if(t1!==""){
                   color1.push(parseInt(t1));
                   color2.push(parseInt(t2));
               }
       }

       var r=parseInt(color1[0]*rate1+color2[0]*rate2+color3[0]*rate3);
       var g=parseInt(color1[1]*rate1+color2[1]*rate2+color3[1]*rate3);
       var b=parseInt(color1[2]*rate1+color2[2]*rate2+color3[2]*rate3);
           return "rgb("+r+","+g+","+b+")";
    }
script>

注:提供三种颜色混合方式,主次混合颜色偏暗,与白色混合颜色偏淡,建议主次白3色混合

Github项目地址是:https://github.com/briangonzalez/rgbaster.js

核心script地址:

标题栏背景色随背景图片自适应


推荐阅读
  • 本文详细介绍了如何利用Duilib界面库开发窗体动画效果,包括基本思路和技术细节。这些方法不仅适用于Duilib,还可以扩展到其他类似的界面开发工具。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 两个条件,组合控制#if($query_string~*modviewthread&t(&extra(.*)))?$)#{#set$itid$1;#rewrite^ ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • ZooKeeper 入门指南
    本文将详细介绍ZooKeeper的工作机制、特点、数据结构以及常见的应用场景,包括统一命名服务、统一配置管理、统一集群管理、服务器动态上下线和软负载均衡。 ... [详细]
  • 自动验证时页面显示问题的解决方法
    在使用自动验证功能时,页面未能正确显示错误信息。通过使用 `dump($info->getError())` 可以帮助诊断和解决问题。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 系统数据实体验证异常:多个实体验证失败的错误处理与分析
    在使用MVC和EF框架进行数据保存时,遇到了 `System.Data.Entity.Validation.DbEntityValidationException` 错误,表明存在一个或多个实体验证失败的情况。本文详细分析了该错误的成因,并提出了有效的处理方法,包括检查实体属性的约束条件、调试日志的使用以及优化数据验证逻辑,以确保数据的一致性和完整性。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 装饰者模式(Decorator):一种灵活的对象结构设计模式
    装饰者模式(Decorator)是一种灵活的对象结构设计模式,旨在为单个对象动态地添加功能,而无需修改原有类的结构。通过封装对象并提供额外的行为,装饰者模式比传统的继承方式更加灵活和可扩展。例如,可以在运行时为特定对象添加边框或滚动条等特性,而不会影响其他对象。这种模式特别适用于需要在不同情况下动态组合功能的场景。 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
author-avatar
搞笑--林佳豪_533_654
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有