一、借助CSS border实现案例

实现效果如下(为实时渲染效果):

如何使用?

引用CSS文件,例如:

<link rel="stylesheet" href="./css-letters1.css">

或者直接CSS代码到你的项目中:

web前端开发学习Q-q-u-n: 767273102 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频)
/* 全局样式 */
.letter {color: #2486ff;border-style: solid;border-width: .5em;display: inline-block;position: relative;
}
.letter:after {border-style: solid;border-width: .5em;content: '';position: absolute;
}
/* 单个字母样式 */
.letter[data-char="A"] {border-bottom: none;border-radius: 1em 1em 0 0;height: 2.05em;margin-top: -.05em;width: 1em;
}
.letter[data-char="A"]:after {border-bottom: none;border-left: none;border-right: none;left: 0;right: 0;top: .75em;
}
.letter[data-char="B"] {border-radius: 0 1em 1em 0;height: .5em;width: 1em;
}
.letter[data-char="B"]:after {border-radius: 0 1em 1em 0;bottom: 100%;height: .5em;left: -.5em;width: .9em;
}
.letter[data-char="C"] {border-right: none;border-radius: 1em 0 0 1em;height: 1.5em;width: 1.5em;
}
.letter[data-char="C"]:after {border-bottom: none;border-left: none;border-top: none;height: .5em;right: 0;top: 0;width: .5em;
}
...

HTML部分如下:

<span class="letter" data-char="A"></span>
<span class="letter" data-char="B"></span>
<span class="letter" data-char="C"></span>
<span class="letter" data-char="D"></span>
<span class="letter" data-char="E"></span>
<span class="letter" data-char="F"></span>
<span class="letter" data-char="G"></span>
<span class="letter" data-char="H"></span>
<span class="letter" data-char="I"></span>
<span class="letter" data-char="J"></span>
<span class="letter" data-char="K"></span>
<span class="letter" data-char="L"></span>
<span class="letter" data-char="M"></span>
<span class="letter" data-char="N"></span>
<span class="letter" data-char="O"></span>
<span class="letter" data-char="P"></span>
<span class="letter" data-char="Q"></span>
<span class="letter" data-char="R"></span>
<span class="letter" data-char="S"></span>
<span class="letter" data-char="T"></span>
<span class="letter" data-char="U"></span>
<span class="letter" data-char="V"></span>
<span class="letter" data-char="W"></span>
<span class="letter" data-char="X"></span>
<span class="letter" data-char="Y"></span>
<span class="letter" data-char="Z"></span>

二、border加圆角与另一种风格字体

还是先看效果,实时渲染:

如何使用?

引用CSS文件,例如:

<link rel="stylesheet" href="./css-letters2.css">

或者直接复制CSS代码到你的项目中,由于篇幅限制,我这里仅显示前几个字母的CSS样式


.letter-a {position: relative;width: 30px;height: 40px;background: white;border-radius: 10px 10px 0 0;border-style: solid;border-color: currentColor currentColor transparent currentColor;border-width: 10px 10px 0 10px;
}
.letter-a::before {content: "";position: absolute;top: 10px;height: 10px;width: 30px;background: currentColor;
}.letter-b {position: relative;width: 30px;height: 30px;border-width: 10px 10px 10px  10px;border-style: solid;border-color: transparent transparent transparent currentColor;background: transparent;
}
.letter-b::before {content: "";position: absolute;left: -10px;top: -10px;height: 10px;width: 30px;background: transparent;border-radius: 0 12.5px 12.5px 0;border: 10px solid currentColor;
}
.letter-b::after {content: "";position: absolute;left: -10px;bottom: -10px;height: 10px;width: 30px;background: transparent;border-radius: 0 12.5px 12.5px 0;border: 10px solid currentColor;
}
...

HTML部分代码使用示意:

<span class="letter-a"></span>
<span class="letter-b"></span>
<span class="letter-c"></span>
<span class="letter-d"></span>
<span class="letter-e"></span>
<span class="letter-f"></span>
<span class="letter-g"></span>
<span class="letter-h"></span>
<span class="letter-i"></span>
<span class="letter-j"></span>
<span class="letter-k"></span>
<span class="letter-l"></span>
<span class="letter-m"></span>
<span class="letter-n"></span>
<span class="letter-o"></span>
<span class="letter-p"></span>
<span class="letter-q"></span>
<span class="letter-r"></span>
<span class="letter-s"></span>
<span class="letter-t"></span>
<span class="letter-u"></span>
<span class="letter-v"></span>
<span class="letter-w"></span>
<span class="letter-x"></span>
<span class="letter-y"></span>
<span class="letter-z"></span>

每个字母都可以独立使用。

不过这里的实现有个不好的是,这里的字母都是使用px单位实现的,因此,想要自如控制字母的大小不太方便。需要借助transform进行缩放控制才行。

三、活用transform的css-sans字体生成

使用CSS生成的 无衬线26个英文字母。

实时效果如下:

//zxx: 接缝处有些间隙是因为对字体进行缩放导致,实际1:1呈现时候不会有这个现象。

hover对应代码可以看到对应字体部件,非常使用CSS图形绘制的学习,如下截图示意:

如何使用?

复制页面上呈现的对应的CSS代码,然后HTML部分如下:

<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
<div class="D"></div>
<div class="E"></div>
<div class="F"></div>
<div class="G"></div>
<div class="H"></div>
<div class="I"></div>
<div class="J"></div>
<div class="K"></div>
<div class="L"></div>
<div class="M"></div>
<div class="N"></div>
<div class="O"></div>
<div class="P"></div>
<div class="Q"></div>
<div class="R"></div>
<div class="S"></div>
<div class="T"></div>
<div class="U"></div>
<div class="V"></div>
<div class="W"></div>
<div class="X"></div>
<div class="Y"></div>
<div class="Z"></div>

要显示哪个字母,就复制对应HTML到页面上就好了。

对web前端这门技术感兴趣的小伙伴可以加入到我们的学习圈来,工作第六个年头了,与大家分享一些学习方法,实战开发需要注意的细节。767-273-102 秋裙。从零基础开始怎么样学好前端。都是一群有梦想的人,我们可能在不同的城市,但我们会一起结伴同行前端前端前端

四、点评与结束语

上面三个CSS生成26个字母的案例展示了CSS在图形绘制方面的潜力,是非常好的CSS图形绘制学习材料。

然而,要说具体的实用性,则并不见得多高,就像是顶级期刊的论文虽厉害,但并不适用于真正的商业实践,因为其中成本很好,适用场景页有限。

主要问题在于字母图形全部都是使用px进行定位的。而实际使用,我们的字号是多变的,px这种固定单位想要实时变化呈现的字号大小是很麻烦的,只能通过缩放解决,但缩放在1倍屏幕密度显示器下,容易出现接缝间隙,体验不好。

所以,上面的字体生成案例需要进一步优化,把px定位全部改成em,这样,就能通过外部font-size改变字形的大小,这样,实用性就很强了!

另外,上面的3个案例,全部都是大写英文字母,如果还支持小写字母,那就真正强悍了,实际项目中大肆应用是很有可能的。这个以后有时间我可以挑战下。

web前端入门到实战:3种姿势实现26个英文字母的案例相关推荐

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

    如何使用? 引用CSS文件,例如: 或者直接CSS代码到你的项目中: /* 全局样式 / .letter { color: #2486ff; border-style: solid; border-w ...

  2. html怎么设置过渡字体,web前端入门到实战:css3基础-文本与字体+转换+过渡+动画+案例...

    Css3文本与字体 文本阴影 h1 { text-shadow: 5px 5px 5px red; } word-break换行: h1:nth-child(1) { word-break: norm ...

  3. html前端页面的基本骨架是,web前端入门到实战:css实现的骨架屏方案

    web前端入门到实战:css实现的骨架屏方案 发布时间:2020-08-04 01:32:03 来源:51CTO 阅读:152 作者:前端向南 优点 简单,不需要工程,不用puppeteer生成骨架d ...

  4. 转圈加载html,web前端入门到实战:纯CSS实现加载转圈样式

    web前端入门到实战:纯CSS实现加载转圈样式 发布时间:2020-05-27 18:11:33 来源:51CTO 阅读:134 作者:前端向南 不同的项目中对于等待加载时转圈圈的样式是不同的,有的是 ...

  5. web前端入门到实战:实现图形验证码

    什么是图形验证码 图形验证码是验证码的一种.验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers a ...

  6. web前端入门到实战:CSS新属性实现特殊的图片显示效果

    1 概述 1.1 前言 使用一个或多个图像相关的CSS属性(background-blend-mode, mix-blend-mode, or filter)可以实现许多特殊的图片显示效果,共列举了2 ...

  7. web前端入门到实战:CSS mix-blend-mode滤色screen混合模式

    一.滤色screen混合模式速览 screen混合模式,国内称为"滤色",其计算公式是: 公式中的C表示最终混合的RGB色值(范围是0-255),A和B表示用来混合的两个颜色的RG ...

  8. web前端入门到实战:HTML字符实体,转义字符串

    为什么要用转义字符串? HTML中**<,>,&等有特殊含义(<,>,用于链接签,&用于转义),**不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如 ...

  9. web前端入门到实战:CSS颜色、背景和剪切

    颜色 CSS 中可以改变文字的颜色还有元素的背景颜色.可以用颜色关键字来定义颜色,如red,但是这些颜色关键字并不常用. transparent transparent可以让文字或背景变的完全透明的颜 ...

最新文章

  1. 亮相百度WAVE SUMMIT+2021,Intel OpenVINO带来新气象
  2. 设计模式 — Overview
  3. CentOS7_装机软件推荐
  4. Winform中实现仿XP系统的任务栏菜单效果(附代码下载)
  5. python实现宿舍管理系统_基于PYTHON微信小程序的病历管理系统的设计与实现
  6. 各种机械原理动态图,看完脑洞大开,绝对涨姿势!
  7. 网校系统推荐eduline_网校系统的各项功能的用处
  8. kibana 后台启动
  9. 麒麟芯片或“绝版”,华为多系列手机涨价​;一加回应“刘作虎回归OPPO”;DBeaver 7.2 发布| 极客头条
  10. container of()函数简介
  11. 财经职业技能测试的软件,2020技能 2.财经管理类 职业技能测试考试大纲(试行)...
  12. css让div背景变成半透明
  13. 上班可明目张胆摸鱼玩的游戏(这谁能看出是在玩游戏)
  14. MMO与弱交互游戏的服务端技术区别
  15. 查看创建数据库的sql语句
  16. 大数据面前,统计学的价值在哪里
  17. python -m的那些实用功能
  18. 游戏设计师:如何对待高考倒数100天
  19. android应用程序安全 pdf,Android应用安全开发.PDF
  20. [SHOI2008]小约翰的游戏 题解

热门文章

  1. 区块链与传统分布式数据库之共识篇
  2. 联合办公室出租,整合服务
  3. matlab 实验6 高层绘图操作,实验六 高层绘图操作答案
  4. 信息组织与检索【知识点整理】| 信息检索技术与方法 信息检索系统结构和功能模块 信息描述 信息标引 信息存储
  5. 图标 DIY 模板,轻松创建 iOS 应用图标
  6. 重视对新能源问题的研究,将从新能源电气火灾的角度做进一步分析
  7. PropertyPage在非英文版Win10中变大变形
  8. .net core Linux ( Centos 7 ) 下 验证码图片显示不出来, 或者乱码
  9. Android官方培训课程中文版(v0.9.7)
  10. js php 手机验证码代码怎么写,JS实现简单短信验证码界面