纯CSS打造Chrome浏览器

Mark Qin用HTML和CSS模拟了一个Chrome浏览器css

Demo在此html

都是一些基本的CSS3的使用,并不复杂。各位有兴趣地能够试着也写一个。前端

惟一复杂的地方是浏览器标签的模拟。css3

chrome tabs

能够看出,Chrome标签的基本特色以下:web

  • 梯形
  • 有圆角
  • 宽度自适应

用图片能够轻松搞定,可是怎么能用图片呢?做为一个有追求的前端,确定要用纯CSS3实现啊!chrome

标签的HTML很简单:segmentfault

<ul class="tabs">
    <li>新标签页</li>
    <li class="selected">百度一下,你就知道</li>
    <li>新标签页</li>
</ul>

梯形的两端用:before:after 轻松搞定。浏览器

.tabs li:before,
.tabs li:after {
     width: 16px;
     height: 24px;
     content: " ";
     border: 1px solid #3b5c95;
}

处理定位的时候须要注意元素间的z-index关系。spa

.tabs li {
     display: inline-block;
     position: relative;
     z-index: 0;
}
.tabs li:before,
.tabs li:after {
     position: absolute;
     z-index: 3;
}
.tabs li:before {
     left: -12px;
}
.tabs li:after {
     right: -12px;
}

变形则使用CSS3的transformcode

.tabs li:before {
    -o-transform: skew(-22deg);
    -ms-transform: skew(-22deg);
    -moz-transform: skew(-22deg);
    -webkit-transform: skew(-22deg);
    transform: skew(-22deg);
}
.tabs li:after {
    -o-transform: skew(22deg);
    -ms-transform: skew(22deg);
    -moz-transform: skew(22deg);
    -webkit-transform: skew(22deg);
    transform: skew(22deg);
}

好了,差很少大功告成了。接下来还要稍微调整下,对照Chrome浏览器填充下渐变色,高度、宽度、位置也须要微调一下。

这个CSS3山寨的浏览器标签和原版仍是有些出入的,你发现了么?(没有的话,能够看看做者的说明

相关文章
相关标签/搜索