2020-10-29 CSS(六)

本文介绍了CSS优化技术中的精灵图和字体图标。精灵图通过整合小背景图片减少请求,提高页面加载速度,但制作和更新较复杂。字体图标则轻量级、灵活且兼容性好,适用于简单图标。文章还涵盖了CSS用户界面样式,如鼠标样式、轮廓线、文字对齐和溢出省略号显示,以及一些布局和负margin技巧。
摘要由CSDN通过智能技术生成

学习目标:

  1. 精灵图
  2. 字体图标
  3. CSS三角
  4. CSS用户界面样式
  5. vertical-aliign 属性应用
  6. 溢出的文字省略号显示
  7. 常见布局技巧
  8. CSS初始化

学习内容:

1.1 为什么需要精灵图
为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术
核心原理:将网页中的一些小背景图片整合到一张大图中,这样服务器只需要一次请求就可以了。

1.2 精灵图的使用
核心:

  • 精灵技术主要针对的是背景图片。就是把福哦个小背景图片整合到一张大图片中去。
  • 移动背景图片位置,此时可以使用background-position
  • 移动的距离就是这个目标图片的x和y坐标。注意网页中的坐标有所不同
  • 因为一般情况下都是往上往左移动,所以数值都是负值。
  • 使用精灵图的时候需要精确测量,每个小背景图片的大小和位置

1.3 精灵图的缺点

  • 图片文件还是比较大的
  • 图片本身放大缩小会失真
  • 一旦图片制作完毕想要更换非常复杂

2.1 字体图标
字体图标的使用场景:主要用于显示网页中通用、常用的一些小图标
字体图标展示的是图标,本质属于字体。

2.2 字体图标的优点

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

  • 灵活性:本质其实是文字,可以很随意的改变颜色,产生阴影、透明效果、旋转等。

  • 兼容性:几乎支持所有的浏览器
    注意: 字体图标不能替代精灵技术,只能对工作中的图标部分提升和优化
    总结:

  • 如果遇到一些结构和样式比较简单的小图标,就用字体图标

  • 如果遇到一些结构和样式比较复杂的小图片,就用精灵图

2.3 字体图标的下载

  • icomoon字库 http://iconmoon.io
  • 阿里 iconfont 字库 http://www.iconfont.cn/

2.4 字体图标的引入
以阿里 iconfont 字库 为例:

  • 在阿里字库下载图标后,解压压缩包,将以下文件放到项目根目录下
    在这里插入图片描述

  • 在项目中调用iconfont.css

<link rel="stylesheet" href="iconfont/iconfont.css">
  • 调用类
 <i class="iconfont icon-add-circle"></i>

2.5 字体图标的追加
替换文件

3.1 CSS三角制作

            width: 0;
            height: 0;
            line-height: 0;
            font-size: 0;
            border: 10px solid transparent;
            border-left-color: green;

4.1 什么是界面样式
就是更改一些用户操作样式,以提高用户体验

4.2 鼠标样式 cursor

li {cursor:pointer;}
属性值描述
default默认
pointer小手
move移动
text文本
not-allowed禁止

4.3 表单轮廓线 outline
给表单添加outline: 0;或者outline: none;

4.4 防止拖拽文本域 resize
添加resize:none;

5.1 vertical-align 设置文字和行内块元素垂直居中
使用场景:用于设置图片或者表单(行内块元素)和文字垂直对齐。

语法:

vertical-align {baseline|top|middle|bottom}
描述
baseline默认,元素放置在父元素基线上
top把元素的顶部与行中最高元素的顶端对齐
middle把此元素放置在父元素的中部
bottom把元素的顶端与行中最低的元素的顶端对齐

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

  1. 给图片添加vertical-align:middle|top|bottom
  2. 把图片转化成块级元素 display:biock

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

            /* 强制文字一行内显示 */
            white-space: nowrap;
            /* 隐藏溢出的文字 */
            overflow: hidden;
            /* 用省略号表示溢出的部分 */
            text-overflow: ellipsis;

6.2 多行文本溢出省略号显示
有较大兼容性问题(了解即可)

            /* 隐藏溢出部分文字 */
            overflow: hidden;
            /* 溢出部份文字省略号表示 */
            text-overflow: ellipsis;
            /* 弹性伸缩盒子模型显示 */
            display: -webkit-box;
            /* 限制在一个块元素显示的文本行数 */
            -webkit-line-clamp: 2;
            /* 设置或检索伸缩盒对象的子元素排列方式 */
            -webkit-box-orient: vertical;

7.1 margin 负值运用
在这里插入图片描述
1.让每个盒子margin属性为负值,刚好压住相邻盒子的边框
2. 鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有定位,则加相对定位,如果有定位,则加z-index)

7.2 文字围绕浮动元素应用
在盒子里直接放文字,给图片一个浮动,文字就会围绕图片

7.3 行内块元素运用
给父元素添加text-align:center;父元素里所有的行内元素都会居中对齐

7.4 CSS 三角强化
代码:

width:0;
height:0;
border-color:transparent red transparent transparent;
border-style:solid;
border-width:22px 8px 0 0 ;

8. CSS初始化
不同浏览器对标签的默认值是不同的,为了消除不同浏览器对html文本呈现的差异,照顾浏览器的兼容,我们需要对CSS初始化,每个网页都必须首先进行初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值