项目需求

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

要求制作上图所看到的的效果,能达到灵活可配的效果。

我想初步想法是用div+css来制作。

------------------------------------------------------------------------------------------------------

模型抽象

以下的这个模型是我抽象出来的一个简单的解决方式。div能够表示一个矩形。然后再加上一个旋转90度的div就能够组起来达到我们想要的效果了。使用div就能够非常方便地对应各种事件。使站点灵活可配。

------------------------------------------------------------------------------------------------------

技术难点

1、怎样做到让div旋转?

-moz-transform: rotate(90deg);

假设设置的值为正数表示顺时针旋转,假设设置的值为负数,则表示逆时针旋转

2、怎样设置div的层次关系?

z-index

------------------------------------------------------------------------------------------------------

实践过程

HTML页:

-------------------------------------------------------------------------

<html>

    <head>

        <title>test</title>

        <link rel="stylesheet" type="text/css" href="css/chainselect.css">

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <script type="text/javascript" src="js/text.js"></script>

    </head>

    

    <body>

        <div id="rectangle1" onmousemove="MouseMove(this)">新生报到流程</div>

        <div id="arrow1" onmousemove="MouseMove(this)"></div>

        

        <div id="arrow21"></div>

        <div id="rectangle2">公约页</div>

        <div id="arrow22"></div>

        

        <div id="arrow31"></div>

        <div id="rectangle3">完好个人信息</div>

        <div id="arrow32"></div>

        

        <div id="arrow41"></div>

        <div id="rectangle4">选择缴费方式</div>

        <div id="arrow42"></div>

        

        <div id="arrow51">sss</div>

        <div id="rectangle5">新生报到流程</div>

    </html>

-------------------------------------------------------------------------

CSS页

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#rectangle1 {

  border:2px solid;

  border-right:none;

  background-color:#34B0D9;

  width:169px;

  height:29px;

  float:left;

  text-align:center;

  font-size:16px;

  padding-top:5px;

  }

#arrow1 {

  float:left;

  -moz-transform: rotate(45deg);

  border:2px solid;

  background-color:#34B0D9;

  width:25px;

  height:25px;

  position:relative;

  top:5px;

  left:-14px;

  border-bottom:none;

  border-left:none;

 

}

#arrow21{

    float:left;

    -moz-transform: rotate(45deg);

    border:2px solid;

    background-color:#FFFFFF;

    height:32px;

    width:32px;

  position:relative;

  left:-35px;

  top:5px;

  z-index:-1;

    border:none;

}  

#rectangle2 {

  border:2px solid;

  border-right:none;

  background-color:#34B0D9;

  width:169px;

  height:29px;

  float:left;

  text-align:center;

  font-size:16px;

  padding-top:5px;

  float:left;

  position:relative;

  left:-50px;

  z-index:-2;

  border-left:none;

  }

  #arrow22 {

  float:left;

  -moz-transform: rotate(45deg);

  border:2px solid;

  background-color:#34B0D9;

  width:25px;

  height:25px;

  position:relative;

  top:5px;

  left:-63px;

  border-bottom:none;

  border-left:none;

}

#arrow31{

    float:left;

    -moz-transform: rotate(45deg);

    border:2px solid;

    background-color:#FFFFFF;

    height:32px;

    width:32px;

  position:relative;

  left:-84px;

  top:5px;

  z-index:-1;

    border:none;

}  

#rectangle3 {

  border:2px solid;

  border-right:none;

  background-color:#34B0D9;

  width:169px;

  height:29px;

  float:left;

  text-align:center;

  font-size:16px;

  padding-top:5px;

  float:left;

  position:relative;

  left:-100px;

  z-index:-2;

  border-left:none;

  }

    #arrow32 {

  float:left;

  -moz-transform: rotate(45deg);

  border:2px solid;

  background-color:#34B0D9;

  width:25px;

  height:25px;

  position:relative;

  top:5px;

  left:-113px;

  border-bottom:none;

  border-left:none;

}



#arrow41{

    float:left;

    -moz-transform: rotate(45deg);

    border:2px solid;

    background-color:#FFFFFF;

    height:32px;

    width:32px;

  position:relative;

  left:-134px;

  top:5px;

  z-index:-1;

    border:none;

}  

#rectangle4 {

  border:2px solid;

  border-right:none;

  background-color:#34B0D9;

  width:169px;

  height:29px;

  float:left;

  text-align:center;

  font-size:16px;

  padding-top:5px;

  float:left;

  position:relative;

  left:-148px;

  z-index:-2;

  border-left:none;

  }

    #arrow42 {

  float:left;

  -moz-transform: rotate(45deg);

  border:2px solid;

  background-color:#34B0D9;

  width:25px;

  height:25px;

  position:relative;

  top:5px;

  left:-161px;

  border-bottom:none;

  border-left:none;

}





#arrow51{

    float:left;

    -moz-transform: rotate(45deg);

    border:2px solid;

    background-color:#FFFFFF;

    height:32px;

    width:32px;

  position:relative;

  left:-180px;

  top:5px;

  z-index:-1;

    border:none;

}  

#rectangle5 {

  border:2px solid;

  background-color:#34B0D9;

  width:169px;

  height:29px;

  float:left;

  text-align:center;

  font-size:16px;

  padding-top:5px;

  float:left;

  position:relative;

  left:-196px;

  z-index:-2;

  border-left:none;

  }

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

实践效果

总结思考

1、面对复杂的问题。要学会抽象当前的问题。

2、不将就是发现的原动力。

最新文章

  1. 欢迎使用CSDN-markdown编辑器
  2. Socket用法详解
  3. 关于jQuery的一些实用代码
  4. dbca no protocol support
  5. git学习笔记09-bug分支-自己的分支改到一半了-要去改bug怎么办?
  6. Excepion
  7. Deferred和Promise之间有什么区别呢?
  8. 【经验记录】Android上传文件到服务器
  9. 《Python基础教程(第二版)》学习笔记 -&gt; 第一章 基础知识
  10. 关于如何使用three.js的小教程&amp;lt;一&amp;gt;
  11. keepalive配置支持ipv6、ipv4双棧支持
  12. jmeter学习记录--09--命令行运行与生成报告
  13. OSPF(Open Shortest Path First)
  14. JVM-Ubuntu18.04.1下编译OpenJDK8
  15. EChart.js 笔记一
  16. Hibernate(8)_单向n对n
  17. weex中css不能使用子元素选择器
  18. python第四十五课——继承性之多继承
  19. delphi简单单向字符串加密函数
  20. iOS 模拟器运行不能联网 PAC Fetch failed with error

热门文章

  1. docker guide
  2. Angular JavaScript内存溢出问题 (FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory)
  3. c++的if语句中的110为什么不等于110?
  4. 转: 使用 /sys 文件系统访问 Linux 内核
  5. 如何将已经安装从chrome扩展程序导出备份为.CRX文件?
  6. Spring Boot Web开发中Thymeleaf模板引擎的使用
  7. HTML元素的基本特性
  8. C#中对泛型List进行分组输出元素
  9. 如何在ASP.NET MVC为Action定义筛选器
  10. Python requests.post方法中data与json参数区别