现在的位置: 首页 > 综合 > 正文

转载 – 微妙的圆角参数 纯CSS圆角Tab

2013年02月25日 ⁄ 综合 ⁄ 共 825字 ⁄ 字号 评论关闭

Tab能算的上是网页里最为常见的组件,不论是作为内容切换,还是直接作为导航,形形色色的Tab扮演着各种交互角色。既然是重要的交互角色,那么无论其颜色还是形状都关乎整个交互过程——圆角是有意义的,在视觉上把Tab和其他分隔元素区别开来是必要的,就如同圆角按钮一样——可能很多时候圆角按钮都与整个设计风格格格不入,但却是必须的,因为交互元素的凸显比整个设计浑然一体更为重要。

在IE67日渐边缘的如今,2012可能是前端重心转移最为明显的一年。于此也就不去考虑过时浏览器的兼容性了,对于它们,能看看内容就已经不错了,管它美不美观错不错位,时代在进步,往前看才不至于失业。

今天琢磨了会写了下面这样一个CSS圆角Tab,和网上流行的圆角Tab不同之处在于:Tab底部也使用圆角过渡

Pure CSS Rounded Tab Navigation

我简单制作了一个DEMO,列出了HTML结构和CSS:

Demo

为达到底部使用圆角过渡的目的,关键就是下面两点:

  1. border-radius 的使用时显而易见的,这个属性在所有现代浏览器中工作良好,并且在无论是Firefox还是Chrome的更新里,都不再需要前缀。
  2. 由于Tab下沿的圆角无法填补,需要用 li 的伪元素来定位填补,同时还需要 a 的伪元素来定位覆盖隐藏Tab下沿的边线。

具体结构我绘制了一张框图,感觉上这种圆角的参数很微妙…

rounded tab html construction diagram

代码里面值得一提的可能只有一条:

   1: .top-nav li.current:after{

   2:     content:"\200B";

   3:     position:absolute;

   4:     display:block;

   5:     width:100%;

   6:     left:0;

   7:     bottom:-5px;

   8:     border-bottom:1px solid #fff;

   9: }

那就是 content:"\200B";。其实之前的再谈清除浮动 里也已经提到,这个 U+200B 字符是一个“零宽度空白”,其本身就不可见,所以也就不需要在使用 visibility:hidden; 来隐藏内容。

本文来自:葵中剑博客

抱歉!评论已关闭.