纯CSS打造Chrome浏览器

简介: Mark Qin用HTML和CSS模拟了一个Chrome浏览器。Demo在此。都是一些基本的CSS3的使用,并不复杂。各位有兴趣地可以试着也写一个。唯一复杂的地方是浏览器标签的模拟。

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

Demo在此

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

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

image.png

可以看出,Chrome标签的基本特点如下:

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

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

标签的HTML很简单:

<ul class="tabs">

   <li>新标签页</li>

   <liclass="selected">百度一下,你就知道</li>

   <li>新标签页</li>

</ul>

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

.tabsli:before,

.tabs li:after {

    width: 16px;

    height: 24px;

    content: " ";

    border: 1px solid #3b5c95;

}

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

.tabsli {

    display: inline-block;

    position: relative;

    z-index: 0;

}

.tabsli:before,

.tabsli:after {

    position: absolute;

    z-index: 3;

}

.tabsli:before {

    left: -12px;

}

.tabsli:after {

    right: -12px;

}

变形则使用CSS3的transform

.tabsli:before {

   -o-transform: skew(-22deg);

   -ms-transform: skew(-22deg);

   -moz-transform: skew(-22deg);

   -webkit-transform: skew(-22deg);

   transform: skew(-22deg);

}

.tabsli:after {

   -o-transform: skew(22deg);

   -ms-transform: skew(22deg);

   -moz-transform: skew(22deg);

   -webkit-transform: skew(22deg);

   transform: skew(22deg);

}

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

相关文章
|
3月前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
473 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
18天前
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
|
20天前
|
Web App开发 Linux iOS开发
Chrome浏览器如何导出所有书签并导入书签
【11月更文挑战第4天】本文介绍了如何在 Chrome 浏览器中导出和导入书签。导出时,打开书签管理器,点击“整理”按钮选择“导出书签”,保存为 HTML 文件。导入时,同样打开书签管理器,点击“整理”按钮选择“导入书签”,选择之前导出的 HTML 文件即可。其他主流浏览器也支持导入这种格式的书签文件。
|
26天前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
150 9
|
2月前
|
Web App开发 开发者
|
2月前
|
Web App开发 JSON 安全
Chrome浏览器的跨域问题
【10月更文挑战第6天】
|
2月前
|
Web App开发 缓存 安全
Chrome浏览器启动参数大全
这是一组用于定制浏览器行为的命令行参数,包括但不限于:不停用过期插件、放行非安全内容、允许应用中心脚本、停用GPU加速视频、禁用桌面通知、禁用拓展及各类API、调整缓存设置、启用打印预览、隐身模式启动、设定语言、使用代理服务器、无头模式运行等。通过这些参数,用户可以根据需求灵活调整浏览器功能与性能。
|
3月前
|
Web App开发 存储 前端开发
Chrome浏览器的跨域问题
Chrome浏览器的跨域问题
|
4月前
|
Web App开发
Chrome——谷歌浏览器chrome如何模拟其他客户端
Chrome——谷歌浏览器chrome如何模拟其他客户端
105 1
Chrome——谷歌浏览器chrome如何模拟其他客户端
|
4月前
|
Web App开发 JSON 安全
【跨域难题终结者】:一键解锁Chrome浏览器神秘设置,彻底告别开发阶段的跨域烦恼!
【8月更文挑战第20天】跨域是前端开发常遇难题,尤其在前后端分离项目中。浏览器因安全考量会阻止不同源间的请求。本文对比CORS、JSONP、代理服务器等解法,并介绍开发阶段通过调整Chrome设置来临时禁用跨域限制的方法,提供启动Chrome及使用`fetch`API示例,适合快速测试。但请注意这不适用于生产环境,存在一定安全风险。
929 1
下一篇
无影云桌面