神奇的纯CSS图标

使用纯CSS的伪元素来创建简单的图标,这是一个比较有创意的做法,正如你在本站看到的评论数图标就是用:before和:after来制作的,下面分享一个国外的朋友制作了84个常用图标。

制作说明

该代码为实验性代码,不适应用在生产环境中,更多是作为一个练习性的作品,兼容: Firefox 3.5+, Safari 5+, Chrome 5+, Opera 10.6+.

pure-css-gui-icons

代码思路:

主要是通过设置元素为position:relative;设置:before 和 :after为position:absolute;然后通过CSS相关的background、border、border-radius、transform:rotate()、和z-index来交叉生成,让我们不得不感叹神奇的CSS世界。来看看其中一个是怎么写的。

HTML代码:

<ul>
  <li class="power"><a href="#non">Power</a></li>
  <li class="play"><a href="#non">Play</a></li>
  <li class="stop"><a href="#non">Stop</a></li>
  <li class="pause"><a href="#non">Pause</a></li>
</ul>

CSS代码:

.expand a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1px;
  width: 5px;
  height: 0;
  border-width: 7px 7px 0;
  border-style: solid;
  border-color: transparent #c55500;
  margin-top: -4px;
  /* css3 */
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.expand a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  width: 8px;
  height: 8px;
  border-width: 3px 0 0 3px;
  border-style: solid;
  border-color: #c55500;
  margin-top: -6px;
}

.expand a:hover:before,
.expand a:focus:before,
.expand a:active:before {
  border-color: transparent #730800;
}

.expand a:hover:after,
.expand a:focus:after,
.expand a:active:after {
  border-color: #730800;
}

案例:

还有更多的纯css背景气泡、纯CSS媒体社交图标、不用图片的阴影、纯CSS边角效果

[dmengl2v]纯CSS图标,来源:http://nicolasgallagher.com/pure-css-gui-icons/

纯CSS背景气泡

纯CSS媒体社交图标

不用背景的阴影

边角效果
[/dmengl2v]


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流