美文网首页
CSS绘制图形

CSS绘制图形

作者: 时光你慢慢走 | 来源:发表于2017-12-14 00:28 被阅读0次

对于接触HTML不久或不太深入的朋友们来说,制作图形可能最先想到的是canvas。但实际上单纯用CSS也可以绘制很多有意思的图形。

1. 矩形
div{
  width: 100px;
  height: 100px;
  border: 1px solid black;
  background-color: black;
}

实际上,一个div本身就是一个矩形,横平竖直,只要把想要的矩形边长通过width以及height进行定义就可以了,不要忘记加上边框 or 背景颜色,不然你可能什么都看不到。

2. 等腰直角三角形

等腰三角形的绘制方法有很多种,我来说一种我觉得很不错的方法。

.triangle{
  width: 0;
  height: 0;
  border: 100px solid transparent;
  border-bottom-color: black;
}

当我第一次看到这种方法的时候,我可以说是大吃了一惊,他让我对css的兴趣一下变得浓厚了。对于一个小白来讲,一瞬间可能不太能够理解其原理,接下来我要放一张图,帮助大家理解。


css绘制三角形原理
3. 其他方向的等腰直角三角形
.triangle{
  width: 0;
  height: 0;
  border: 90px solid transparent;
  border-left-color: green;
  border-top-width:0;
}

还是放一张图帮助理解。


其他方向的等腰直角三角形
4. 正五边形
*{
 margin:0;padding:0;
}

.pentagon{
  width: 0;
  height: 0;
  border-left: 50px solid transparent; 
  border-right: 50px solid transparent; 
  border-bottom: 38px solid red;
}
.pentagon::after{ 
  content:'';
  position: absolute;
  top:38px;
  left:0;
  width: 62px;
  border-width: 58px 19px 0 19px; 
  border-style: solid; 
  border-color: red transparent transparent transparent; 
}

这之中牵扯到一些数学问题,所以感谢好朋友@陈曦的数学支援。


正五边形
5. 太极图
.taiji {
   width: 96px;
   height: 48px;
   background: white;
   border-color: black;
   border-style: solid;
   border-width: 2px 2px 50px 2px;
   border-radius: 100%;
   position: relative;
}

.taiji:before {
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   background: white;
   border: 18px solid black;
   border-radius: 100%;
   width: 12px;
   height: 12px;
}

.taiji:after {
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   background: black;
   border: 18px solid white;
   border-radius:100%;
   width: 12px;
   height: 12px;
}
太极图
小结

    示例4.五边形与5.太极图都用到了::after与::before伪类。伪类实际上就是一个伪元素,只不过在没有定义它的时候,它是看不见的。所有的非空标签都具有伪类,比方说<input>标签就不具有伪类。
    使用伪元素可以代替没什么卵用的非空标签,而且看起来B格甚高,通过display:block使伪元素可见。在伪元素需要使用绝对定位时,不需要写block,因为position:absolute默认会使它可见。大部分非空标签可用的基本css属性伪元素也都可以使用。

相关文章

  • mxgraph

    前端绘制图形有3种方式: HTML + CSS canvas svg 前端绘制图形优缺HTML + CSS简单。C...

  • css 图形绘制

    尾巴 爱心 弯尾箭头 五角星

  • css图形绘制合集(纯CSS外加一个div标签实现)

    css图形绘制合集(纯CSS外加一个div标签实现) 相关CSS代码: #square { width: 100...

  • CSS3绘制图形基本原理

    一、如何使用CSS3来绘制图形? 网络上经常能够看到一些用CSS3绘制的精致图形,它们通常由矩形,圆形,椭圆,三角...

  • CSS-绘制各种基本图形

    最近被问到如何用CSS绘制一个圆,解决这个问题的同时引发了我对CSS绘制图形的兴趣。今天汇总一下CSS绘制的各种基...

  • css绘制的图形

    盒子模型: 以下是比较全面的css绘制的图形:https://css-tricks.com/the-shapes-...

  • CSS 绘制特殊图形

    概要 实例 一些简单的图形 源码 在浏览器中的效果 复杂的特殊图形 链接:【原创教程】使用CSS3绘制腾讯QQ的企...

  • CSS 绘制特殊图形

    先来绘制一个简单基础容器 从示例1 和 示例2(通过把示例1的宽高设置为0得到)可以看出,容器的 border 是...

  • css绘制各种图形

    https://mp.weixin.qq.com/s/v7V8o5Cpif87RfmSBI624A

  • 常用CSS图形绘制

    原文地址:https://css-tricks.com/the-shapes-of-css/ 1.方形 2.矩形 ...

网友评论

      本文标题:CSS绘制图形

      本文链接:https://www.haomeiwen.com/subject/xxvzixtx.html

      热点阅读