用CSS画英文字母

起因是在网上看到了有人用纯css画出了英文字母,感觉不难,了解过css3的话都会感觉思路比较直观

主要用到的css知识点:绝对定位,圆角属性以及元素的宽高均为零时边框的挤压性质

效果图

源代码

<!DOCTYPE html>
<html>
<head>
    <title>CSS-Letter</title>
    <meta charset="utf-8"/>
    <style type="text/css">
        *{
            margin:0px;
            padding:0px;
        }
        .letter{
            position:relative;
            width:80px;
            height:100px;
            float:left;
            margin-left:20px;
        }
        .A-widget-one{
            width:0px;
            height:0px;
            border-bottom:100px solid #000;
            border-left:40px solid transparent;
            border-right:40px solid transparent;
            position:absolute;
            left:0px;
            top:0px;
        }
        .A-widget-two{
            width:0px;
            height:0px;
            border-bottom:63px solid #FFF;
            border-left:25px solid transparent;
            border-right:25px solid transparent;
            position:absolute;
            left:15px;
            bottom:0px;
        }
        .A-widget-three{
            width:32px;
            height:15px;
            background-color:#000;
            position:absolute;
            left:24px;
            top:62px;
        }
        .B-widget-one{
            width:15px;
            height:100px;
            background-color:#000;
            position:absolute;
            left:5px;
            top:0px;
        }
        .B-widget-two,.B-widget-three{
            width:60px;
            height:50px;
            background-color:#000;
            border-top-right-radius:45%;
            border-bottom-right-radius:45%;
            position:absolute;
            left:20px;
            top:0px;
        }
        .B-widget-three{
            top:50px;
        }
        .B-widget-four,.B-widget-five{
            width:40px;
            height:20px;
            background-color:#FFF;
            border-top-right-radius:45%;
            border-bottom-right-radius:45%;
            position:absolute;
            left:20px;
            top:15px;
        }
        .B-widget-five{
            top:65px;
        }
        .C-widget-one{
            width:80px;
            height:100px;
            background-color:#000;
            border-radius:45%;
        }
        .C-widget-two{
            width:40px;
            height:60px;
            background-color:#FFF;
            border-radius:45%;
            position:absolute;
            left:20px;
            top:20px;
        }
        .C-widget-three{
            width:22px;
            height:30px;
            background-color:#FFF;
            position:absolute;
            right:0px;
            top:35px;
        }
    </style>
</head>
<body>
    <div class="letter">
        <div class="A-widget-one"></div>
        <div class="A-widget-two"></div>
        <div class="A-widget-three"></div>
    </div>
    <div class="letter">
        <div class="B-widget-one"></div>
        <div class="B-widget-two"></div>
        <div class="B-widget-three"></div>
        <div class="B-widget-four"></div>
        <div class="B-widget-five"></div>
    </div>
    <div class="letter">
        <div class="C-widget-one"></div>
        <div class="C-widget-two"></div>
        <div class="C-widget-three"></div>
    </div>
</body>
</html>

利用css的圆角属性和绝对定位可以做很多有意思的东西,例如下面就是一个用css画出来的太极图

代码

<!DOCTYPE html>
<html>
  <head>
    <title>css-taichi</title>
    <meta charset="utf-8"/>
    <style type="text/css">
      *{
        margin:0;
        padding:0;
      }
      .wrapper{
        width:300px;
        height:300px;
        margin:20px auto;
        border:1px solid #CDCDCD;
        position:relative;
      }
      .wrapper-circle{
        width:200px;
        height:200px;
        border-radius:50%;
        position:absolute;
        left:50px;
        top:50px;
        animation-name:rotary-taichi;
        animation-duration:3s;
        animation-iteration-count:infinite;
        animation-direction:alterlate;
      }
      .circle{
        width:100px;
        height:200px;
        position:absolute;
      }
      .left-circle{
        left:0;
        top:0;
        border-radius:200px 0 0 200px;
        background-color:#EBEBEB;
      }
      .right-circle{
        right:0;
        top:0;
        border-radius:0 200px 200px 0;
        background-color:#000;
      }
      .minor-circle{
        width:100px;
        height:100px;
        border-radius:50%;
        position:absolute;
        z-index:10;
      }
      .top-circle{
        right:-50px;
        top:0;
        background-color:#EBEBEB;
      }
      .bottom-circle{
        right:-50px;
        bottom:0;
        background-color:#000;
      }
      .tiny-circle{
        width:30px;
        height:30px;
        border-radius:50%;
        position:absolute;
        left:35px;
        top:35px;
        z-index:20;
      }
      .top-circle .tiny-circle{
        background-color:#000;
      }
      .bottom-circle .tiny-circle{
        background-color:#EBEBEB;
      }
      @keyframes rotary-taichi{
        transform-origin:50% 50%;
        from {transform:rotate(0deg);}
        to {transform:rotate(360deg);}
      }
    </style>
  </head>
<body>
  <div class="wrapper">
    <div class="wrapper-circle">
        <div class="left-circle circle">
          <div class="top-circle minor-circle">
            <div class="tiny-circle"></div>
          </div>
          <div class="bottom-circle minor-circle">
            <div class="tiny-circle"></div>
          </div>
        </div>
        <div class="right-circle circle">
        </div>
    </div>
  </div>
</body>
</html>
时间: 2024-10-15 21:24:02

用CSS画英文字母的相关文章

css 设置英文字母大小写转换(text-transform)

css 设置英文字母大小写转换 CreateTime--2018年5月25日07点16分 Author:Marydon 1.实现:通过text-transform实现 2.text-transform语法: text-transform : none | capitalize | uppercase | lowercase 取值: none : 默认值.无转换发生 capitalize : 将每个单词的第一个字母转换成大写,其余无转换发生 uppercase : 转换成大写 lowercase

CSS如何设置英文字母之间的间距

CSS如何设置英文字母之间的间距: 在之前章节中已经介绍过如何使用CSS控制字的间距,下面再介绍一下如何控制英文字母之间的间距.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>

强大的CSS:3种姿势实现26个英文字母的案例

一.借助CSS border实现案例 实现效果如下(为实时渲染效果): 如何使用? 引用CSS文件,例如: <link rel="stylesheet" href="./css-letters1.css"> 或者直接CSS代码到你的项目中: /* 全局样式 */ .letter { color: #2486ff; border-style: solid; border-width: .5em; display: inline-block; positio

CSS:3种姿势实现26个英文字母的案例

一.借助CSS border实现案例 实现效果如下(为实时渲染效果): 如何使用? 引用CSS文件,例如: <link rel="stylesheet" href="./css-letters1.css"> 或者直接CSS代码到你的项目中: /* 全局样式 */ .letter { color: #2486ff; border-style: solid; border-width: .5em; display: inline-block; positio

[No00005B]理解26个英文字母的原始含义-例词

理解26个英文字母的原始含义,不仅可以加强我们的语感,而且对我们背单词是大有帮助的.那么26个字母的象形之处到底在哪呢?下面是各字母所对应的含义,如果用示图表达出来,将会更加清楚. A-牛头 B-房子.鸟嘴 C,G-房角 D-门 E-举着双手的人 F-沙粒 H-荷花 I-手 K-皇帝 L-鞭子 M-水or波浪 N-鼻子 O-圆的东西 P-嘴 Q,R-人头 S-太阳,沙丘 T-十字架 V-龙 X-十字架 Z-闪电 A aa, an 一(个,件)(an 用于元音音素开头的词前) (3A1)a car

二十二、英文字母和数字不会换行如何处理

一次偶然的项目中,遇到一个奇怪的问题,为什么我都写了换行的css怎么还是没有换行?请教宋老师之后才知道"英文字母和数字是不会换行的",那如何处理呢? 处理办法,在所在类上增加下面css: word-wrap:break-word;word-break:break-all;

css中文英文换行、禁止换行、显示省略号

css中文英文换行 1 word-break:break-all;只对英文起作用,以字母作为换行依据 2 word-wrap:break-word; 只对英文起作用,以单词作为换行依据 3 white-space:pre-wrap; 只对中文起作用,强制换行 4 white-space:nowrap; 强制不换行,都起作用 5 white-space:nowrap; overflow:hidden; text-overflow:ellipsis;不换行,超出部分隐藏且以省略号形式出现 css 省

Effective前端3:用CSS画一个三角形

三角形的场景很常见,打开一个页面可以看到各种各样的三角形: 由于div一般是四边形,要画个三角形并不是那么直观.你可以贴一张png,但是这种办法有点low,或者是用svg的形式,但是太麻烦.三角形其实可以用CSS画出来.如上图提到,可以分为两种三角形,一种是纯色的三角形,第二种是有边框色的三角形,先介绍最简单的纯色三角形. 1. 三角形的画法 三角形可以用border画出来,首先一个有四个border的div应该是这样的: 然后把它的高度和宽度去掉,剩下四个border,就变成了: 再把bord

【笔试】7、统计出其中英文字母、空格、数字和其它字符的个数

/** * 题目:题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. * 时间:2015年7月28日10:04:33 * 文件:lianxi07.java * 作者:cutter_point */ package bishi.zuixin50.t2015728; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutp