zoukankan      html  css  js  c++  java
  • 步骤菜单使用css3实现

           代码库:http://thecodeplayer.com/walkthrough/css3-breadcrumb-navigation

           有兴趣的可以看一下,看完绝对让你大饱眼福。
     
            首先截图,看效果
            
           
     
             看着很酷吧,其实实现起来也不是很难,里边需要用的技术有:box-shadow,计数器:(reset-couter,counter-increment),以及transform,等技术。
     
              第一步书写html代码很简单了,也就是div 套几个a标签即可。
     
              给a写伪类after,after主要为了实现后面的小三角符号,需要给after后面添加content属性为空。设置高宽,display属性,以及背景色和a标签背景色保持一致。需要注意的地方,position:absolute,这样的话就可以把after放到a后面而不影响临近的a标签了。加上border.
              
              有人就好奇了,就算加上border也没有小三角出来啊,这是就需要用到神奇的transform属性了。
     
              
              看下示例图:
                  
             现在明白了吧,需要进行旋转45度即可,但是又有了新的问题,旋转后的变宽过长,超出了边界了,这是就需要使用缩小了,但是缩小到多少倍比较合适呢。来看下计算方法。
              
              假设边长都为1,那么就是(1^2+1^2)^0.5=1.414,一个很熟的值了。也就是垂直的对折线了。只需要1就行,那么就是1/1.414≈0.707。所以需要缩小的倍数就是0.707.
              所以transform:scale(0.707) rotate(45deg);
             
              这样就得到我们需要的小三角了。
     
              再来看前边的编号是如何实现的。
              使用css2.1中的counter实现,在父级元素上初始化计数器。 reset-counter:变量名称 初始值。其中初始值不写默认为0,在子级元素上写伪类before.content:couter(变量名称),couter-inctrement:变量名称 step(可为负值)。
     
               下来需要完成hover效果。直接附源码 下载
     
  • 相关阅读:
    ultraEdit使用utf8乱码的解决办法
    利用替换字符串的函数StringReplace删除字符串中指定的字符或字符串
    COBID,CanID,NodeID的不同
    随机生成一个10位的数字(来自大富翁)
    Delphi2010下,Unit aliases会影响到Code Insight功能?
    使用鼠标拖曳的方式移动、更改panel控件的大小
    将四个BYTE数值转换成IEEE754标准的浮点数
    判断shift,ctrl,alt键是否按下
    获取邮箱中的用户名
    IFM控制器中关于支线长度的说明
  • 原文地址:https://www.cnblogs.com/fyking/p/3361505.html
Copyright © 2011-2022 走看看