欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  1、构建图像轮播框架
 
  首先是HTML。它有点难以阅读,因为我们删除了元素之间的任何空格或回车。这样我们就可以使用JavaScript更轻松地引用不同的图像-空格或行在某些浏览器中创建新节点。
 
  <divid="stage">
 
  <divid="rotator"><ahref="snow1.jpg"><imgsrc="snow1.jpg"width="140"></a><ahref="snow2.jpg"><imgsrc="snow2.jpg"width="140"></a><ahref="snow3.jpg"><imgsrc="snow3.jpg"width="140"></a><ahref="snow4.jpg"><imgsrc="snow4.jpg"width="140"></a><ahref="snow5.jpg"><imgsrc="snow5.jpg"width="140"></a><ahref="snow6.jpg"><imgsrc="snow6.jpg"width="140"></a><ahref="snow7.jpg"><imgsrc="snow7.jpg"width="140"></a><ahref="snow8.jpg"><imgsrc="snow8.jpg"width="140"></a></div>
 
  </div>
 
  <pid="controls"><ahref="#"onclick="rollLeft(document.getElementById('rotator'));returnfalse;">←</a>
 
  <ahref="#"onclick="rollRight(document.getElementById('rotator'));returnfalse;">→</a></p>
 
  正如你所看到的,那里没有太多需要解释的地方。画廊包含在DIV中,包括列出的照片/链接,然后是一些带有onclick事件的导航链接。
 
  2、在3D空间中布置照片
 
  造型更加复杂。我们在这里做的是将前五张照片塑造成凹形并隐藏任何额外的照片(暂时)。外部照片旋转60度,相邻照片旋转30度。中央照片被抬离页面。
 
  
 
  
 
  
 
  #stage{
 
  margin:1emauto;
 
  height:120px;
 
  }
 
  #rotator{
 
  position:absolute;
 
  white-space:nowrap;
 
  -webkit-perspective:1200px;
 
  -moz-perspective:1200px;
 
  }
 
  #rotatoraimg{
 
  position:relative;
 
  padding:10px;
 
  border:1pxsolid#ccc;
 
  vertical-align:middle;
 
  }
 
  #rotatora:nth-child(1)img{
 
  -webkit-transform-origin:100%50%0;
 
  -webkit-transform:rotateY(-60deg);
 
  -moz-transform-origin:100%50%0;
 
  -moz-transform:rotateY(-60deg);
 
  }
 
  #rotatora:nth-child(2)img{
 
  -webkit-transform-origin:050%0;
 
  -webkit-transform:rotateY(-30deg);
 
  -moz-transform-origin:050%0;
 
  -moz-transform:rotateY(-30deg);
 
  }
 
  #rotatora:nth-child(3)img{
 
  -webkit-transform:translateZ(220px);
 
  -moz-transform:translateZ(220px);
 
  }
 
  #rotatora:nth-child(4)img{
 
  -webkit-transform-origin:100%50%0;
 
  -webkit-transform:rotateY(30deg);
 
  -moz-transform-origin:100%50%0;
 
  -moz-transform:rotateY(30deg);
 
  }
 
  #rotatora:nth-child(5)img{
 
  -webkit-transform-origin:050%0;
 
  -webkit-transform:rotateY(60deg);
 
  -moz-transform-origin:050%0;
 
  -moz-transform:rotateY(60deg);
 
  }
 
  #rotatora:nth-child(n+6){
 
  display:none;
 
  }
 
  为了引用单个照片/链接,我们使用了nth-child伪类(如果不清楚,在之前的文章【css伪类之nth-child()示例详解】里有介绍)。在这种情况下,链接(A)是父DIV的子代。如果没有链接,则孩子们将成为IMG元素。
 
  3、旋转照片
 
  您之前看到的一点JavaScript(onclick)调用以下函数。他们所做的就是从DOM中的照片数组的一端获取一个元素并将其移动到另一端:
 
  <scripttype="text/javascript">
 
  functionrollRight(el)
 
  {
 
  el.insertBefore(el.lastChild,el.firstChild);
 
  }
 
  functionrollLeft(el)
 
  {
 
  el.appendChild(el.firstChild);
 
  }
 
  </script>
 
  JavaScript代码应该(几乎总是)放在页面的底部。
 
  第一个函数将包含包含最后一个照片/链接(可见或隐藏)的节点,并将其放在第一个照片/链接之前。第二个函数获取第一个照片/链接并将其移动到行的末尾。使用onclick不是最优雅的方法,但现在它就足够了。
 
  随着节点的移动,它们会采用分配给新位置(1,2,3,4,5或6+)的样式,因此我们需要做的就是改变它们的位置而不用担心移动或旋转。






本文转载自中文网

 

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/css3-style/c55069.shtml