2024年大数据最全【Web前端】CSS-高级技巧_web字体图标示例(1)

/\* background-color: pink; \*/
background-position: -327px -142px;

}
.n {
width: 108px;
height: 109px;
/* background-color: pink; */
background-position: -215px -141px;
}
.k {
width: 105px;
height: 114px;
/* background-color: pink; */
background-position: -495px -142px;
}


### 2. 字体图标


#### 2.1 字体图标的产生


字体图标使用场景: 主要用于显示网页中通用、常用的一些小图标。


精灵图是有诸多优点的,但是缺点很明显。


1.图片文件还是比较大的。


2.图片本身放大和缩小会失真。


3.一旦图片制作完毕想要更换非常复杂。


此时,有一种技术的出现很好的解决了以上问题,就是**字体图标 iconfont**。


**字体图标**可以为前端工程师提供一种方便高效的图标使用方式,**展示的是图标,本质属于字体**。


#### 2.2 字体图标的优点


**轻量级**:一个图标字体要比一系列的图像要小。一旦字体加载了,图标就会马上渲染出来,减少了服务器请求


* 灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等
* 兼容性:几乎支持所有的浏览器,请放心使用
* 注意: 字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化。


**总结:**


1.如果遇到一些结构和样式比较简单的小图标,就用字体图标。![在这里插入图片描述](https://img-blog.csdnimg.cn/e1dd6818d0c041ad89f198e788e24dbe.png#pic_center)


2.如果遇到一些结构和样式复杂一点的小图片,就用精灵图。


![在这里插入图片描述](https://img-blog.csdnimg.cn/202f7031ba3847078a6868aa312cb420.png#pic_center)


**使用步骤**


字体图标是一些网页常见的小图标,我们直接网上下载即可。 因此使用可以分为:


1.字体图标的下载


2.字体图标的引入 (引入到我们html页面中)


3.字体图标的追加 (以后添加新的小图标)


#### 2.3 字体图标的下载


**推荐下载网站:**


* **icomoon** **字库** http://icomoon.io 推荐指数 **★★★★★**


IcoMoon 成立于 2011 年,推出了第一个自定义图标字体生成器,它允许用户选择所需要的图标,使它们成一字型。该字库内容种类繁多,非常全面,唯一的遗憾是国外服务器,打开网速较慢。


* **阿里** **iconfont** **字库** http://www.iconfont.cn/ 推荐指数 **★★★★★**


这个是阿里妈妈 M2UX 的一个 iconfont 字体图标字库,包含了淘宝图标库和阿里妈妈图标库。可以使用 AI制作图标上传生成。 重点是,免费!


#### 2.4 字体图标的引入


**下载完毕之后,注意原先的文件不要删,后面会用**。


1. 把下载包里面的 **fonts** 文件夹放入页面根目录下


![在这里插入图片描述](https://img-blog.csdnimg.cn/6320219a04594ccf970adafbc1e0a4f2.png#pic_center)


* **字体文件格式**


不同浏览器所支持的字体格式是不一样的,字体图标之所以兼容,就是因为包含了主流浏览器支持的字体文件。


1).TureType( **`.ttf`** )格式.ttf字体是Windows和Mac的最常见的字体,支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome4+、Safari3+、Opera10+、iOS Mobile、Safari4.2+;


2).Web Open Font Format( **`.woff`** )格式woff字体,支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome6+、Safari3.6+、Opera11.1+;


3).Embedded Open Type( **`.eot`** )格式.eot字体是IE专用字体,支持这种字体的浏览器有IE4+;


4).SVG( **`.svg`** )格式.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有Chrome4+、Safari3.1+、Opera10.0+、iOS Mobile Safari3.2+;


2.在 CSS 样式中全局声明字体: 简单理解把这些字体文件通过css引入到我们页面中。


一定注意字体文件路径的问题



@font-face {
font-family: ‘icomoon’;
src: url(‘fonts/icomoon.eot?7kkyc2’);
src: url(‘fonts/icomoon.eot?7kkyc2#iefix’) format(‘embedded-opentype’),
url(‘fonts/icomoon.ttf?7kkyc2’) format(‘truetype’),
url(‘fonts/icomoon.woff?7kkyc2’) format(‘woff’),
url(‘fonts/icomoon.svg?7kkyc2#icomoon’) format(‘svg’);
font-weight: normal;
font-style: normal;
}


3. html 标签内添加小图标。


![在这里插入图片描述](https://img-blog.csdnimg.cn/fd91ba21b7f34b539fe9e22a251b9a63.png#pic_center)


4. 给标签定义字体。



span {
font-family: “icomoon”;
}


注意:务必保证 这个字体和上面@font-face里面的字体保持一致


![在这里插入图片描述](https://img-blog.csdnimg.cn/38e944239c4849638169bed0b64d56ec.png#pic_center)


#### 2.5 字体图标的追加


如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标到原来的字体文件中。


把压缩包里面的 **selection.json** 从新上传,然后选中自己想要新的图标,从新下载压缩包,并替换原来的文件即可。


![在这里插入图片描述](https://img-blog.csdnimg.cn/1069c905ff784b64a7dd70b94b0feae0.png#pic_center)


#### 2.6 字体图标加载的原理:


![在这里插入图片描述](https://img-blog.csdnimg.cn/72a64ae8328e420383b5baea563aee68.gif#pic_center)


### 3. CSS 三角


#### 3.1 介绍


网页中常见一些三角形,使用 CSS 直接画出来就可以,不必做成图片或者字体图标。


一张图, 你就知道 CSS 三角是怎么来的了, 做法如下:


![在这里插入图片描述](https://img-blog.csdnimg.cn/a019979cada44253ac89a1be31800ee3.png#pic_center)



div {
width: 0;
height: 0;
border: 50px solid transparent;
border-color: red green blue black;
line-height:0;
font-size: 0;
}


1. 我们用css 边框可以模拟三角效果
2. 宽度高度为0
3. 我们4个边框都要写, 只保留需要的边框颜色,其余的不能省略,都改为 transparent 透明就好了
4. 为了照顾兼容性 低版本的浏览器,加上 font-size: 0; line-height: 0;


#### 3.2 案例:京东三角


##### 3.2.1效果图


![在这里插入图片描述](https://img-blog.csdnimg.cn/c3f7e6c13c294df3887b76e16caabf1d.png#pic_center)


##### 3.2.2 代码参考



CSS 三角制作

### 4. CSS 用户界面样式


**什么是界面样式**


所谓的界面样式,就是更改一些用户操作样式,以便提高更好的用户体验。


* 更改用户的鼠标样式
* 表单轮廓
* 防止表单域拖拽


#### 4.1 鼠标样式 cursor



li {
cursor: pointer;
}


设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。


![在这里插入图片描述](https://img-blog.csdnimg.cn/5c80e49ea1e045249c28abcd593a6222.png#pic_center)


#### 4.2 轮廓线 outline


给表单添加 outline: 0; 或者 outline: none; 样式之后,就可以去掉默认的蓝色边框。



input {
outline: none;
}


#### 4.3 防止拖拽文本域 resize


实际开发中,我们文本域右下角是不可以拖拽的。



textarea{
resize: none;
}


vertical-align 属性应用


### 5. vertical-align 属性应用


CSS 的 **vertical-align** 属性使用场景: 经常用于设置图片或者表单(行内块元素)和文字垂直对齐。


官方解释: 用于设置一个元素的**垂直对齐方式**,但是它只针对于行内元素或者行内块元素有效。


语法:



vertical-align : baseline | top | middle | bottom


![在这里插入图片描述](https://img-blog.csdnimg.cn/a88894ecc00b4cb485e1502d9a37faf4.png#pic_center)


![在这里插入图片描述](https://img-blog.csdnimg.cn/c6ceb10f56ce4760bd30b2c273bc7f7b.png#pic_center)


#### 5.1 图片、表单和文字对齐


图片、表单都属于行内块元素,默认的 vertical-align 是基线对齐。


![在这里插入图片描述](https://img-blog.csdnimg.cn/02970e62c3f14ce39ed99867a68c98db.png#pic_center)


此时可以给图片、表单这些行内块元素的 **vertical-align 属性设置为 middle** 就可以让文字和图片垂直居中对齐了。


#### 5.2 解决图片底部默认空白缝隙问题


bug:图片底侧会有一个空白缝隙,原因是行内块元素会和文字的基线对齐。


主要解决方法有两种:


1.**给图片**添加 **vertical-align:middle | top| bottom** 等。 (提倡使用的)


2.把图片转换为块级元素 **display: block**;


![在这里插入图片描述](https://img-blog.csdnimg.cn/b18c88c1e9bd4e7bbf558cc0a2ea3d4b.png#pic_center)


### 6. 溢出的文字省略号显示


#### 6.1 单行文本溢出显示省略号


![在这里插入图片描述](https://img-blog.csdnimg.cn/be4b8eb68ff748a8b3cb952600a7dbcd.png#pic_center)


单行文本溢出显示省略号–必须满足三个条件:



/*1. 先强制一行内显示文本*/
white-space: nowrap; ( 默认 normal 自动换行)

/*2. 超出的部分隐藏*/
overflow: hidden;

/*3. 文字用省略号替代超出的部分*/
text-overflow: ellipsis;


#### 6.2 多行文本溢出显示省略号(了解)


![在这里插入图片描述](https://img-blog.csdnimg.cn/8428f0010bdc46969d1fb61baa5f7210.png#pic_center)


多行文本溢出显示省略号,**有较大兼容性问题**,适合于webKit浏览器或移动端(移动端大部分是webkit内核)



/*1. 超出的部分隐藏 */
overflow: hidden;

/*2. 文字用省略号替代超出的部分 */
text-overflow: ellipsis;

/* 3. 弹性伸缩盒子模型显示 */
display: -webkit-box;

/* 4. 限制在一个块元素显示的文本的行数 */
-webkit-line-clamp: 2;

/* 5. 设置或检索伸缩盒对象的子元素的排列方式 */
-webkit-box-orient: vertical;


**更推荐让后台人员来做这个效果,因为后台人员可以设置显示多少个字,操作更简单。**


### 7. 常见布局技巧


**巧妙利用一个技术更快更好的布局:**


1. margin负值的运用
2. 文字围绕浮动元素
3. 行内块的巧妙运用
4. CSS三角强化


#### 7.1. margin负值运用


![在这里插入图片描述](https://img-blog.csdnimg.cn/ceb36546c8994cf3a5a1e36eef072729.png#pic_center)


![在这里插入图片描述](https://img-blog.csdnimg.cn/771d49be6dc042afb26980dd2a679ba5.png#pic_center)


1.让每个盒子margin 往左侧移动 -1px 正好压住相邻盒子边框


2.鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有有定位,则加相对定位(保留位置),如果有定位,则加z-index)


#### 7.2 文字围绕浮动元素


**效果**


![在这里插入图片描述](https://img-blog.csdnimg.cn/ed3c5b16626346b79d033e1e4b678b27.png#pic_center)


**布局示意图**


![在这里插入图片描述](https://img-blog.csdnimg.cn/ed5e80b2247c4007b5c3eeea5c8b33f0.png#pic_center)




![img](https://img-blog.csdnimg.cn/img_convert/46b91dd61b3933188e63b096948f723f.png)
![img](https://img-blog.csdnimg.cn/img_convert/764e3779f781a515607138bfde663405.png)
![img](https://img-blog.csdnimg.cn/img_convert/9fcddce917526c64656b9a44021c51f1.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

blog.csdnimg.cn/ed3c5b16626346b79d033e1e4b678b27.png#pic_center)


**布局示意图**


![在这里插入图片描述](https://img-blog.csdnimg.cn/ed5e80b2247c4007b5c3eeea5c8b33f0.png#pic_center)




[外链图片转存中...(img-zwth0JV0-1714645619590)]
[外链图片转存中...(img-XtiDLErx-1714645619590)]
[外链图片转存中...(img-jjHsagGd-1714645619591)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值