使用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样式linear-gradient的使用实例
Jan 16 HTML / CSS
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
Nov 18 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
Jun 23 HTML / CSS
CSS3的颜色渐变效果的示例代码
Sep 29 HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
Sep 11 HTML / CSS
html5 canvas合成海报所遇问题及解决方案总结
Aug 03 HTML / CSS
localStorage、sessionStorage使用总结
Nov 17 HTML / CSS
htnl5利用svg页面高斯模糊的方法
Jul 20 HTML / CSS
box-shadow单边阴影的实现
May 21 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
我的论坛源代码(四)
2006/10/09 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
超级强大的表单验证
2006/06/26 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
javascript 树形导航菜单实例代码
2013/08/13 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
小程序实现tab标签页
2020/11/16 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
python3 kmp 字符串匹配的方法
2018/07/07 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
资料员岗位职责
2013/11/17 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python