2022-03-01 CSS 其七 CSS 高级技巧

黄金树.jpg

1.CSS精灵图

CSS的精灵技术就是将多张小图片整合到一张大图片当中,一次性提供给浏览器。因为网页当中一般都会存在许多的图片,如果浏览器渲染每一张图片的时候都向服务器请求一次数据,这样频繁的请求会严重影响页面的加载速度。
使用精灵图的方式主要通过background-position来实现,精灵图只适用于较小的图片。实现的方式大概就是用预先做好的盒子,移动背景图片的位置,只有在盒子内的元素才会被显示出来,就像一个mask一样。比如这样的一张精灵图,我需要其中两个图标,在html中定义好两个盒子之后,在CSS中书写下列代码即可。

  .box1 {
            width: 60px;
            height: 60px;
            background: url(images/sprites.png);
            background-position: -182px 0;
            margin: 30px auto;
        }

        .box2 {
            width: 27px;
            height: 25px;
            background: url(images/sprites.png) no-repeat -155px -106px;
            margin: 90px auto;

        }

特别注意坐标轴方向,x轴向右为正,y轴向下为正。

2.字体图标

字体图标是一种特殊的图标使用方式,虽然展示在页面上的是图标,但是实际上却是字体。相比于图片,字体的图标更加轻量,字体加载了,字体图标就会立刻显示。由于字体图标的本质是文字,所以修改起来也比较方便。字体图标的兼容性也比较强,几乎所有的浏览器都支持。
常用的下载字体图标的网站:
1.icomoon 字库 http://icomoon.io
2.阿里 iconfont 字库 http://www.iconfont.cn/
选择需要的图标下载之后,在解压后的文件里面找到font文件夹,将其放在我们编写html文件的根目录下,让后在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.CSS三角

在网页中经常可以见到一些三角形的图标,除了通过引入图片来得到三角形,CSS也是可以直接得到三角形的。代码如下

div {
 width: 0;
 height: 0;
 line-height: 0;
 font-size: 0;
 border: 50px solid transparent;
 border-left-color: pink;
}

最后就可以得到一个向右的三角形。
可以发现我们利用CSS制作三角形的方法就是定义一个无高宽的盒子,用边框来得到三角形,通过改变边框的粗细还能得到其他各种各样的三角形。

4.用户界面样式

4.1鼠标样式

当我们把鼠标移动到某个链接上面的时候,会发现鼠标的箭头有时候变成了一个小手,这就是通过改变鼠标样式来实现的。
语法如下:

li {cursor: pointer; }

除了pointer,还有其他可以添加的属性。


image.png

4.2轮廓线

在学习表单的时候,我们使用过input来让用户输入内容,但是我们发现当鼠标确认要开始输入内容的时候,外围会出现一个轮廓线。
比如这样,当我鼠标准备输入内容的时候,边框就会加粗。如何取消这个效果呢?



只需要给input添加一个outline属性就可以了

input {
            outline: none;
        }

4.3防止文本域拖拽

在添加文本域的时候,会发下右下角有一个小三角,我们拖动这个小三角可以任意改变文本域的大小。我们并不希望用户能这样做,因为这样势必会打乱页面当中其他元素的布局,为了阻止文本域拖拽,我们也给文本域添加CSS样式。

textarea{ resize: none;}

这样文本域的大小就不能被随意更改了。

5. vertical-align 属性应用

这个属性是用来设置元素的对齐方式的,有时候我们需要图标和文字顶部或者底部或者中心对齐,就可以使用这个属性来实现。

vertical-align : baseline | top | middle | bottom

一张图简单解释了这几种对齐方式的区别


6.溢出部分文字用省略号表示

这里只做了解,分别看一下单行文字和多行文字的情况
单行文字

/*1. 先强制一行内显示文本*/
 white-space: nowrap; ( 默认 normal 自动换行)
 /*2. 超出的部分隐藏*/
 overflow: hidden;
 /*3. 文字用省略号替代超出的部分*/
 text-overflow: ellipsis;

多行文字:

overflow: hidden;
text-overflow: ellipsis;
/* 弹性伸缩盒子模型显示 */
display: -webkit-box;
/* 限制在一个块元素显示的文本的行数 */
-webkit-line-clamp: 2;
/* 设置或检索伸缩盒对象的子元素的排列方式 */
-webkit-box-orient: vertical;
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • 能够使用精灵图 能够使用字体图标 能够写出CSS三角 能够写出常见的CSS用户界面样式 能够说出常见的布局技巧 1...
    皮皮章阅读 213评论 0 0
  • CSS 高级技巧 1. 精灵图 为什么需要精灵图? 精灵图的使用 精灵图课堂案例 1 精灵图 1.1 为什么需要精...
    Tutuls阅读 224评论 0 0
  • 一、精灵图 精灵图有效地减少服务器接收和发送请求的次数,提高页面的加载速度。 精灵图主要针对背景图片使用。 使用精...
    在想什么奇奇怪怪阅读 153评论 0 0
  • 一、精灵图 1.1 为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就...
    西红柿君呐阅读 192评论 0 0
  • CSS浮动 传统网页布局的三种方式:标准文档流,浮动和定位,在实际开发中,一个页面基本都包含了这三种布局方式; 标...
    YanZi_33阅读 162评论 0 0