zoukankan      html  css  js  c++  java
  • 超级简单:改变网站的色彩

        曾经是否想给您的网站的观众有机会去定制网站的色彩?这篇文章给出了使用ASP.NET来建立自己这样的网站的一个解决方案。在这里,我们使用ASP.NET母版页,所选择的语言是C#。

        如msn.com和bbc.co.uk网站允许用户改变他们的网站模板颜色。这个想法看上去似乎是个噱头,并似乎有点毫无意义的,因为不是每个人都需要的,或者是符合每个人的口味。

        但也有一些地方- 如MSN和BBC等大型组织会花很多钱在市场营销研究上。

        首先,让我们看看演示的顺序和文件要求。我们使用Default.aspx开始,

        所有的工作在 central.aspxmaster.cs中完成。

        首先的一个关键点是样式是aspx文件而不是css文件。central.aspx文件渲染一个CSS文件,因为我们在文档内容的顶部声明。样式表如下:

    代码
    <%  Response.ContentType = "text/css";%>
    <%@ Page Language="C#"%>

    <% 
        
    string colormedium = null;
        
    string colorstrong = null;
        
    string colorweak = null;
        
    string logo = null;
        
        HttpCookie cookie 
    = Request.Cookies["colorme"];

        
    if (cookie == null) {
            
            Random RandomClass 
    = new Random();
            
            
    int RandomNumber = 0;
            RandomNumber 
    = RandomClass.Next(15);
            
            
    if (RandomNumber == 1) {

                colorstrong 
    = "#55AAFB";// - strong blue
                colormedium 
    = "#8FC8FD";// - medium blue
                colorweak 
    = "#C9E5FF";// - weak blue
                logo 
    = "url('images/picassocode-blue.jpg')";//- blue logo
            }
            
            
    else if (RandomNumber == 2) {

                colorstrong 
    = "#AF51FF";// - strong purple
                colormedium 
    = "#CB8DFF";// - medium purple
                colorweak 
    = "#E6C9FF";// - weak purple
                logo 
    = "url('images/picassocode-purple.jpg')";//- purple logo

            }
            
            
    else if (RandomNumber == 3) {

                colorstrong 
    = "#FFBD4C";// - strong orange
                colormedium 
    = "#FFD189";// - medium orange
                colorweak 
    = "#FFE8C5";// - weak orange
                logo 
    = "url('images/picassocode-orange.jpg')";//- orange logo

            }
            
            
    else if (RandomNumber == 4) {

                colorstrong 
    = "#FF5489";// - strong pink
                colormedium 
    = "#FF91B8";// - medium pink
                colorweak 
    = "#FFCDE0";// - weak pink
                logo 
    = "url('images/picassocode-pink.jpg')";//- pink logo

            }
            
            
    else if (RandomNumber == 5) {

                colorstrong 
    = "#C3E473";// - strong green
                colormedium 
    = "#DDEFA5";// - medium  green
                colorweak 
    = "#F1F9D7";// - weak green
                logo 
    = "url('images/picassocode-green.jpg')";//- green logo
            }

        }
        
        
    else if (cookie != null) {
            
            
    if (cookie.Value == "blue") {

                colorstrong 
    = "#55AAFB";// - strong blue
                colormedium 
    = "#8FC8FD";// - medium blue
                colorweak 
    = "#C9E5FF";// - weak blue
                logo 
    = "url('images/picassocode-blue.jpg')";//- blue logo
            }
            
            
    else if (cookie.Value == "purple") {

                colorstrong 
    = "#AF51FF";// - strong purple
                colormedium 
    = "#CB8DFF";// - medium purple
                colorweak 
    = "#E6C9FF";// - weak purple
                logo 
    = "url('images/picassocode-purple.jpg')";//- purple logo
            }
            
    else if (cookie.Value == "orange") {

                colorstrong 
    = "#FFBD4C";// - strong orange
                colormedium 
    = "#FFD189";// - medium orange
                colorweak 
    = "#FFE8C5";// - weak orange
                logo 
    = "url('images/picassocode-orange.jpg')";//- orange logo
            }
            

            
    else if (cookie.Value == "pink") {

                colorstrong 
    = "#FF5489";// - strong pink
                colormedium 
    = "#FF91B8";// - medium pink
                colorweak 
    = "#FFCDE0";// - weak pink
                logo 
    = "url('images/picassocode-pink.jpg')";//- pink logo
            }
            
    else if (cookie.Value == "green")
            {

                colorstrong 
    = "#C3E473";// - strong green
                colormedium 
    = "#DDEFA5";// - medium  green
                colorweak 
    = "#F1F9D7";// - weak green
                logo 
    = "url('images/picassocode-green.jpg')";//- green logo
            }

        }
    %>

    body { font-family: Tahoma,Verdana, 
           Arial;font-size:100%;padding:0;margin:0;
           background-color:#CFCFB8;color:#9a9a9a}
    a{    color:
    <% = colorstrong %>
        text-decoration:none;
        }
    a:hover{
    text-decoration:underline
    }    

    table {
    border-collapse : collapse; 
    }
    table td, table th {
    padding : 0; 
    }
    .img_border{border:1px solid #000;margin:5px}
    .logo{background-image:
    <% = logo%>}
    .mediumback{background-color:
    <% = colormedium%>}
    .mediumborder{border:solid 3px 
    <% = colormedium%>}
    .mediumtext{color:
    <% = colormedium%>}
    .strongback{background-color:
    <% = colorstrong%>}
    .strongborder{border:solid 3px 
    <% = colorstrong%>}
    .strongtext{color:
    <% = colorstrong%>}
    .weakback{background-color:
    <% = colorweak%>}
    .weakborder{border:solid 3px 
    <% = colorweak%>}
    .weaktext{color:
    <% = colorweak%>}

    /* menu */
    .mymenu{
    margin: 5px 0;
    padding: 0;
    }
    .mymenu a.menuitem{
    background-color:
    <% =colorweak %>;
    font-size:85%;
    color: #000000;
    display: block;
    position: relative;
    padding: 4px 0;
    padding-left: 10px;
    text-decoration: none;
    border-bottom: 1px solid #9A9A9A;
    text-align:left;

    }
    .mymenu a.menuitem:hover{
    background-color:#ffffff;
    }

           当central.aspx加载时,服务器读取的C#的ASPX的内容,然后渲染为CSS到浏览器上。这是因为我们声明内容类型为""text/css"。这是因为我们声明我们的内容的类型为 "text/css"。

           在central.aspx,我们判断是否有一个名字为"colorme"的cookie。如果没有,我们生成一个1至5之间的一个随机数和定义适当四个变量根据这个随机数。(这些变量将会用来设置logo , 弱色,中等色彩,和强烈的色彩)。 如果有一个名字为"'colorme'"的cookie ,我们的四个变量设置到适当的logo和颜色。一旦四个变量的设置,不同的CSS样式被分配给相应的值。

         以上发生,是在当页加载的时候-设置颜色

        现在,提供用户他们能选择的颜色的权利,在我们的例子中有:green, orange, pink, blue, 和 purple

     

      色箱子之下的超链接设置如下所示:

    代码
    <table style="100%">
    <tr>
    <td></td>
    <td style="text-align:right">Change colour</td>
      
    <td><href="default.aspx?colour=green"><img src="images/square-green.jpg" 
               alt
    ="Change to green" class="img_border" style="vertical-align:middle"/></a></td>
        
    <td><href="default.aspx?colour=orange"><img src="images/square-orange.jpg" 
               alt
    ="Change to orange" class="img_border" style="vertical-align:middle"/></a></td>
        
    <td><href="default.aspx?colour=pink"><img src="images/square-pink.jpg" 
               alt
    ="Change to pink" class="img_border" style="vertical-align:middle"/></a></td>
        
    <td><href="default.aspx?colour=blue"><img src="images/square-blue.jpg" 
               alt
    ="Change to blue" class="img_border" style="vertical-align:middle"/></a></td>
        
    <td><href="default.aspx?colour=purple"><img src="images/square-purple.jpg" 
               alt
    ="Change purple" class="img_border" style="vertical-align:middle"/></a></td>
    </tr>
    </table>

         当点击其中任何一个,Default.aspx的被调用,调用master.cscentral.aspx。central.aspx将像上面说明的一样表现,master.cs留意URL中querystring的 'color' 。

    master.cs 像下面所示:

    代码
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public partial class _Default : System.Web.UI.Page
    {
        
    void Page_Load()
        {

            
    string getcolourcarry = Request.QueryString["colour"];
            
    string getid = Request.QueryString["id"];

            
    if (getcolourcarry != "")
            {
                changecolor(getcolourcarry);
            }

            
    if (getid == "control2")
            {
                mainblock.Controls.Clear();
                Control c1 
    = LoadControl("control2.ascx");
                mainblock.Controls.Add(c1);
            }
            
    else if (getid == "control3")
            {
                mainblock.Controls.Clear();
                Control c1 
    = LoadControl("control3.ascx");
                mainblock.Controls.Add(c1);
            }
            
    else
            {
                mainblock.Controls.Clear();
                Control c1 
    = LoadControl("home.ascx");
                mainblock.Controls.Add(c1);
            }
        }
        
    void changecolor(string getcolour)
        {
            HttpCookie cookie 
    = new HttpCookie("colorme");

            
    if (getcolour == "green") {
        
                cookie.Value 
    = "green";
                cookie.Expires 
    = DateTime.Now.AddYears(1);
                cookie.Domain 
    = "picassocode.net";
                Response.Cookies.Add(cookie);
            }
            
    else if (getcolour == "orange") {
               cookie.Value 
    = "orange";
               cookie.Expires 
    = DateTime.Now.AddYears(1);
               cookie.Domain 
    = "picassocode.net";
               Response.Cookies.Add(cookie);
           }
           
    else if (getcolour == "pink") {
               cookie.Value 
    = "pink";
               cookie.Expires 
    = DateTime.Now.AddYears(1);
               cookie.Domain 
    = "picassocode.net";
               Response.Cookies.Add(cookie);
           }
           
    else if (getcolour == "purple") {
               cookie.Value 
    = "purple";
               cookie.Expires 
    = DateTime.Now.AddYears(1);
               cookie.Domain 
    = "picassocode.net";
               Response.Cookies.Add(cookie);
           }
           
    else if (getcolour == "blue")
           {
                cookie.Value 
    = "blue";
                cookie.Expires 
    = DateTime.Now.AddYears(1);
                cookie.Domain 
    = "picassocode.net";
                Response.Cookies.Add(cookie);
           }
       }
    }

         但页面加载的时候,我们要寻求两个东西:ID querystring 和colour querystring ,在我们的案例当中,ID只是指引我们到相应的页面,我们可以加载control2.ascx,control3.ascx,如果ID为空,home.ascx 将会被加载。

    是我们寻求的colour querystring ,如果它不等于空,我们看到它是否等于我们的颜色之一-green, orange等,如果相等,我们根据颜色选择简单地创建一个Cookie。central.aspx被调用,通过查看是否有一个名字为 'colorme' 的cookie ,并选择相关的样式。

    注意,如果你设置了样式表这样做,您就可以让您的用户更改任何样式。

    该方法是由Cookie驱动的。大多数用户有能力阻止和删除Cookie ,你可能需要添加一个帮助页面去描述。

    查看这个的例子



    (全文完)


    以下为广告部分

    您部署的HTTPS网站安全吗?

    如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!

    SSL检测评估

    快速了解HTTPS网站安全情况。

    安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。

    SSL证书工具

    安装部署SSL证书变得更方便。

    SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。

    SSL漏洞检测

    让服务器远离SSL证书漏洞侵扰

    TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。

  • 相关阅读:
    Vue学习四:v-if及v-show指令使用方法
    Vue学习三:v-on:click命令及v-html命令学习
    Vue学习二:v-model指令使用方法
    Vue学习一:{{}}html模板使用方法
    jquery及jquery常用选择器使用
    VBA 高级筛选
    vba 如何去掉返回结果两端的双引号?
    VBA RemoveDuplicates方法去重复项
    VBA 根据Find方法根据特定内容查找单元格
    官方文档:Office VBA 参考
  • 原文地址:https://www.cnblogs.com/zhuqil/p/1631025.html
Copyright © 2011-2022 走看看