使用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使用transition实现的鼠标悬停淡入淡出
Jan 09 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
基于DOM+CSS3实现OrgChart组织结构图插件
Mar 02 HTML / CSS
用css3写出气球样式的示例代码
Sep 11 HTML / CSS
css3实现多个元素依次显示效果
Dec 12 HTML / CSS
CSS3 animation ? steps 函数详解
Aug 30 HTML / CSS
详解CSS3:overflow属性
Nov 17 HTML / CSS
HTML5 WebGL 实现民航客机飞行监控系统
Jul 25 HTML / CSS
HTML5里的placeholder属性使用实例和美化显示效果的方法
Apr 23 HTML / CSS
CSS3 画基本图形,圆形、椭圆形、三角形等
Sep 20 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
Apr 29 HTML / CSS
CSS font-variation 可变字体的魅力(实例详解)
Mar 03 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安装问题
2006/10/09 PHP
PHP与MySQL交互使用详解
2006/10/09 PHP
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
php json转换相关知识(小结)
2018/12/21 PHP
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
Python pass详细介绍及实例代码
2016/11/24 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
Html5之title吸顶功能
2018/06/04 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
外语专业毕业生自荐信
2014/04/14 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
2015年纪委工作总结
2015/05/13 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
心理学培训心得体会
2016/01/22 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
python使用torch随机初始化参数
2022/03/22 Python