純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山寨的瀏覽器標籤和原版仍是有些出入的,你發現了麼?(沒有的話,能夠看看做者的說明

相關文章
相關標籤/搜索