高级技巧
1·精灵图
1.基于设计稿明确盒子大小(宽 和 高)
2.使用像素大厨等工具测量图片偏移坐标;
3.布局时给盒子指定:width、height 和 background 属性:
width: 60px;height: 60px;background: url(./images/sprites.png) no-repeat -px -px;
2·字体图标
网站:
icomoon字库https://icomoon.io/(opens new window)
iconfont阿里字库/
第一步:到网站下载字体图标,把下载包里面的 fonts 文件夹放入页面根目录下
第二步:字体图标引入,一定要注意字体文件路径问题
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>/* 第一步创建字体 */@font-face {font-family: "icomoon";src: url("fonts/icomoon.eot?p4ssmb");src: url("fonts/icomoon.eot?p4ssmb#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?p4ssmb") format("truetype"),url("fonts/icomoon.woff?p4ssmb") format("woff"),url("fonts/icomoon.svg?p4ssmb#icomoon") format("svg");font-weight: normal;font-style: normal;font-display: block;}/* 第三步声明字体*/i {/*font-family: "icomoon"一定要写 */font-family: "icomoon";color: red;font-size: 40px;}</style></head><body><!-- 第二步准备一个标签--><i></i> or <i>'\eqie'</i></body></html>
3·css三角形
三角形的形成就是由宽高为0的盒子的颜色边框和transparent透明边框的粗细相互构成,本质是个长方形.设置行高和字体,以保证兼容性:line-height: 0; font-size: 0;
4·鼠标样式
cursor: default; 默认样式cursor: pointer; 小手cursor: move; 移动cursor: text; 文本cursor: not-allowed; 禁止cursor: zoom-in; 放大(后期搭配js使用)cursor: zoom-out; 缩小(后期搭配js使用)
5·表单轮廓
input { outline: none; }
给表单添加,可去掉默认的蓝色边框.
6·禁止表单域拖拽
textarea{ resize: none; }
7·图片文字对齐
vertical-align 属性
vertical-align: top | middle | baseline | bottom
vertical-align : 顶部 | 中部 | 基线 | 底部
图片底部空白解决方案
给图片添加vertical-align: top | middle | bottom
也可以解决行内,行内块元素底部缝隙把图片转换为块级元素 display: block;
8·溢出文字显示省略号
单行文字溢出
/* 1. 强制在一行显示文本,默认 normal 会自动换行 */white-space: nowrap;/*2 . 超出的部分隐藏 */overflow: hidden;/* 3. 文字用省略号替代超出的部分 */text-overflow: ellipsis;
多行文字溢出
/* 1. 超出的部分隐藏 */overflow: hidden;/* 2. 文字用省略号替代超出的部分 */text-overflow: ellipsis;/* 3. 弹性伸缩盒子模型显示 */display: -webkit-box;/* 4. 限制在一个块元素显示的文本的行数 */-webkit-line-clamp: 2;/* 5. 设置或检索伸缩盒对象的子元素的排列方式 */-webkit-box-orient: vertical;
多行文字溢出有兼容性问题,在实际工作中一般推荐后端完成,后端可以限制字数
9·margin负值解决盒子边框
float: left; margin-left: -1px;
鼠标放在盒子上显示边框
盒子没有定位
ul li:hover {position: relative;border: 1px solid color;}
盒子有定位
ul li:hover {z-index: 1;border: 1px solid color;}