使用CSS3制作一个简单的Chrome模拟器


Posted in HTML / CSS onJuly 15, 2015

Demo在此。

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

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

使用CSS3制作一个简单的Chrome模拟器
可以看出,Chrome标签的基本特点如下:

    梯形
    有圆角
    宽度自适应

用图片可以轻松搞定,但是怎么能用图片呢?作为一个有追求的前端,肯定要用纯CSS3实现啊!

标签的HTML很简单:

XML/HTML Code复制内容到剪贴板
  1. <ul class="tabs">  
  2.     <li>新标签页</li>  
  3.     <li class="selected">百度一下,你就知道</li>  
  4.     <li>新标签页</li>  
  5. </ul>  

梯形的两端用:before 与 :after 轻松搞定。

CSS Code复制内容到剪贴板
  1. .tabs li:before,   
  2. .tabs li:after {   
  3.      width16px;   
  4.      height24px;   
  5.      content" ";   
  6.      border1px solid #3b5c95;   
  7. }  

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

CSS Code复制内容到剪贴板
  1. .tabs li {   
  2.      displayinline-block;   
  3.      positionrelative;   
  4.      z-index: 0;   
  5. }   
  6. .tabs li:before,   
  7. .tabs li:after {   
  8.      positionabsolute;   
  9.      z-index: 3;   
  10. }   
  11. .tabs li:before {   
  12.      left: -12px;   
  13. }   
  14. .tabs li:after {   
  15.      rightright: -12px;   
  16. }  

变形则使用CSS3的transform。

CSS Code复制内容到剪贴板
  1. .tabs li:before {   
  2.     -o-transform: skew(-22deg);   
  3.     -ms-transform: skew(-22deg);   
  4.     -moz-transform: skew(-22deg);   
  5.     -webkit-transform: skew(-22deg);   
  6.     transform: skew(-22deg);   
  7. }   
  8. .tabs li:after {   
  9.     -o-transform: skew(22deg);   
  10.     -ms-transform: skew(22deg);   
  11.     -moz-transform: skew(22deg);   
  12.     -webkit-transform: skew(22deg);   
  13.     transform: skew(22deg);   
  14. }  

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

HTML / CSS 相关文章推荐
详解css3 mask遮罩实现一些特效
Oct 24 HTML / CSS
css3 响应式媒体查询的示例代码
Sep 25 HTML / CSS
使用CSS3的appearance属性改变任何元素的浏览器默认风格
Dec 24 HTML / CSS
使用css3和jquery实现可伸缩搜索框
Feb 12 HTML / CSS
css3+jq创作含苞待放的荷花
Feb 20 HTML / CSS
CSS3的颜色渐变效果的示例代码
Sep 29 HTML / CSS
CSS3实现文字描边的2种方法(小结)
Feb 14 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
Jul 16 HTML / CSS
html+css实现自定义图片上传按钮功能
Sep 04 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
Apr 24 HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
Apr 10 HTML / CSS
能用CSS实现的就不要麻烦JavaScript了
Oct 05 HTML / CSS
初探CSS3中的calc()功能
Jul 14 #HTML / CSS
CSS3中线性颜色渐变的一些实现方法
Jul 14 #HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 #HTML / CSS
用CSS3实现背景渐变的方法
Jul 14 #HTML / CSS
使用CSS3制作响应式导航菜单的方法
Jul 12 #HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 #HTML / CSS
使用CSS3创建动态菜单效果
Jul 10 #HTML / CSS
You might like
PHP mkdir()定义和用法
2009/01/14 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
js实现批量删除功能
2020/08/27 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
python解析xml文件实例分享
2013/12/04 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
详解KMP算法以及python如何实现
2020/09/18 Python
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
党的群众路线教育实践活动方案
2014/10/31 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
单身证明范本
2015/06/15 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python