CSS之高级技巧

目录

  • CSS高级技巧
    • 精灵图(精灵技术)
    • 字体图标iconfont
    • CSS三角
    • CSS用户界面样式
    • vertical-align属性应用
    • 溢出的文字省略号显示
    • 常见布局技巧

CSS高级技巧

精灵图(精灵技术)

  1. 为什么? 在这里插入图片描述

目的:有效减少服务器接受和发送请求的次数,提高页面的加载速度
核心原理:将网页中的一些小背景图像整合到一张大图中,这样服务器只需要请求一次
2. 精灵图(sprites)的使用
核心:
① 主要针对背景图片使用,这个大图片也叫雪碧图
② 移动背景图片位置,可以使用background-position,移动的距离就是x和y的坐标(右下正左上负,一般情况都是负值)

字体图标iconfont

精灵图缺点:
① 图片文件大
② 图片本身放大缩小会失真
③ 一旦图片制作完毕更换很复杂
字体图标(iconfont)可解决以上问题,字体图标展示的是图标本质上属于字体
字体图标优点:
① 轻量级 ② 灵活性 ③兼容性强
总结:结构和样式简单的用字体图标

  1. 字体图标下载
    网站:
    在这里插入图片描述

  2. 字体图标引用
    字体文件格式:
    在这里插入图片描述

引入代码:
在这里插入图片描述

放在style标签中
先新建font文件夹用来存放下载的图标,再引入以下代码,一定要设置字体font-family:‘iconmoon’;

@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;
}
  1. 字体图标的追加
    在这里插入图片描述

在这里插入图片描述

CSS三角

语法格式:

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

CSS用户界面样式

  1. 什么是界面样式
    所谓的界面样式,就是更改一些用户操作样式,以便提高更好的用户体验。
  • 更改用户的鼠标样式
  • 表单轮廓
  • 防止表单域拖拽
  1. 鼠标样式
li {
  cursor: pointer;
}
  1. 轮廓线
input {
 	outline: none; 
}
  1. 防止拖拽文本域
textarea{ 
  resize: none;
}

vertical-align属性应用

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

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

语法:

vertical-align : baseline | top | middle | bottom 

溢出的文字省略号显示

  1. 单行文本溢出显示省略号
    单行文本溢出显示省略号必须满足三个条件:
 /*1. 先强制一行内显示文本*/
   white-space: nowrap;  ( 默认 normal 自动换行)
   
  /*2. 超出的部分隐藏*/
   overflow: hidden;
   
  /*3. 文字用省略号替代超出的部分*/
   text-overflow: ellipsis;
  1. 多行文本溢出显示省略号(了解即可)
    多行文本溢出显示省略号,有较大兼容性问题,适合webkit浏览器或移动端(移动端大部分是webkit内核)
/*1. 超出的部分隐藏 */
overflow: hidden;
 
/*2. 文字用省略号替代超出的部分 */
text-overflow: ellipsis;
 
/* 3. 弹性伸缩盒子模型显示 */
display: -webkit-box;
 
/* 4. 限制在一个块元素显示的文本的行数 */
-webkit-line-clamp: 2;
 
/* 5. 设置或检索伸缩盒对象的子元素的排列方式 */
-webkit-box-orient: vertical;

常见布局技巧

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

2.鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有有定位,则加相对定位(保留位置),如果有定位,则加z-index)
2. 文字围绕浮动元素
3. 、行内块巧妙运用
4. CSS初始化
不同浏览器对有些标签的默认值是不同的,为了消除不同浏览器对HTML文本呈现的差异,照顾浏览器的兼容,我们需要对CSS 初始化

简单理解: CSS初始化是指重设浏览器的样式。 (也称为CSS reset)

每个网页都必须首先进行 CSS初始化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/618797.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vs code中如何使用git

由于本地代码有了一些储备,所以想通过网址托管形式,之前一直使用了github,但是鉴于一直被墙,无法登录账号,所以选择了国内的gitee来作为托管网站。 gitee的网址:Gitee - 基于 Git 的代码托管和研发协作平台…

【论文阅读笔记】MapReduce: Simplified Data Processing on Large Clusters

文章目录 1 概念2 编程模型3 实现3.1 MapReduce执行流程3.2 master数据结构3.3 容错机制3.3.1 worker故障3.3.2 master故障3.3.3 出现故障时的语义 3.4 存储位置3.5 任务粒度3.6 备用任务 4 扩展技巧4.1 分区函数4.2 顺序保证4.3 Combiner函数4.4 输入和输出的类型4.5 副作用4.…

如何自定义Linux命令

说明:本文介绍如何将自己常用的命令设置为自定义的命令,以下操作在阿里云服务器CentOS上进行。 修改配置文件 修改配置文件前,先敲下面的命令查看当前系统配置的shell版本 echo $SHELL或者 echo $0区别在于,$SHELL查看的是系统…

房屋出租管理系统需求分析及功能介绍

房屋租赁管理系统适用于写字楼、办公楼、厂区、园区、商城、公寓等商办商业不动产的租赁管理及租赁营销;提供资产管理,合同管理,租赁管理, 物业管理,门禁管理等一体化的运营管理平台,提高项目方管理运营效率…

Java继承学习笔记

Java的继承能保证子类拥有父类的方法的同时,还能有自己的方法,然后也是研究了一下super和this的用法: super的用法: (1)、super关键字有两个用法:super()和super. ,super()这个用法…

C++string 类的常用方法

string (构造函数) (1) default 构造长度为零字符的空字符串。 (2) copy 构造 str 的副本。 (3) substring 复制从字符位置 pos 开始并跨越 len 字符的 str 部分(如果任一 str 太短或 len 为 string::npos,则复制 str 的末尾…

智慧粮库/粮仓视频监管系统:AI视频智能监测保障储粮安全

智慧粮库视频监管系统是一种基于物联网、AI技术和视频监控技术的先进管理系统,主要用于对粮食储存环境进行实时监测、数据分析和预警。TSINGSEE青犀智慧粮库/粮仓视频智能管理系统方案通过部署多区域温、湿度、空气成分等多类传感器以及视频监控等设施,对…

AI漫改头像生成漫画,轻松日入1000+,操作简单好上手,互联网新项目新风口

AI漫改头像也差不多火了大半年了,一般流水的项目都活不过三个月,目前该项目至少存活了七个月了。 利用AI 软件将真人照片生成漫画形象,这看起来简单的方法,却在小红书上大伙大热。这完全是一个0成本的项目,漫画形象制作…

windows窗口消息队列与消息过程处理函数

在Windows窗口应用程序中,消息队列和窗口过程函数是实现消息驱动机制的核心组件。 消息队列(Message Queue): 消息队列是用于存储窗口消息的缓冲区。当用户与应用程序交互时,系统会将生成的消息插入到消息队列中&…

报告!Golang冲上来啦!

今天又来讲Go语言,根据全球知名的编程语言排行榜TIOBE在4月份公布的最新的编程语言排名,令人瞩目的是,Go语言已经跃升至历史最高位,位列排行榜第七名,并且Go语言是前十榜单中最年轻的编程语言。这一成绩不仅彰显了Go语…

驾驭多云环境,加速AI创新丨Animbus Cloud 8.3.0 算力调度平台升级发布

大模型开启全球新一轮AI浪潮,伴随算力规模的爆发增长以及计算技术的多元创新,需要更稳定、高效、敏捷的异构计算基础设施,才能充分发挥对算力能力的重要支撑。 作为开放智能云边架构引领者,九州未来凭借多年的技术积累、实践沉淀…

Libcity 笔记:自定义模型

在/libcity/model/trajectory_loc_prediction/,我们复制一份Deepmove.py,得到DM_tst.py,我们不改变其中的机制,只动class name 然后修改相同目录下的__init__.py: 修改task_config文件: 在config/model/tra…

Matlab-粒子群优化算法实现

文章目录 一、粒子群优化算法二、相关概念和流程图三、例题实现结果 一、粒子群优化算法 粒子群优化算法起源于鸟类觅食的经验,也就是一群鸟在一个大空间内随机寻找食物,目标是找到食物最多的地方。以下是几个条件: (1) 所有的鸟都会共享自己的位置以及…

五一相亲的华为男:女方嫌弃“不像年薪百万”

上一篇:这才是作为人的生活:某大厂员工,200万存款靠利息生活 在这个看重外貌、车辆和房产的社会,相亲往往变成了一场隐秘而激烈的竞争。 作为一名985高校的硕士毕业生,拥有华为六年工作经验的我,33岁&#…

【算法系列】栈

目录 leetcode题目 一、删除字符串中的所有相邻重复项 二、比较含退格的字符串 三、基本计算器 II 四、字符串解码 五、验证栈序列 六、有效的括号 七、最小栈 八、逆波兰表达式求值 九、用栈实现队列 十、用队列实现栈 leetcode题目 一、删除字符串中的所有相邻重…

带头单链表 C++实现

节点定义 带头单链表&#xff1a;我们只需要一个结点指针指向整个链表的第一个节点&#xff0c;这样我们就可以通过next指针访问整个链表内的所有节点 template<class T> struct ListNode {T _val;ListNode* _next;ListNode(const T &val):_val(val),_next(nullptr){…

对数据进行标准化和归一化

数据的形式&#xff1a;保存在CSV中&#xff0c;第一列为姓名&#xff0c;第二列之后为特征。 标准化 输入文件的路径&#xff0c;设置保存转化后的文件路径 import pandas as pd from sklearn.preprocessing import StandardScaler# 读取CSV文件 data pd.read_csv(rC:\User…

上位机图像处理和嵌入式模块部署(树莓派4b使用的注意事项)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 树莓派系列开发板最早的时候&#xff0c;价格还是比较高的。不过由于它生态比较丰富&#xff0c;使用起来比较方便&#xff0c;所以大家都默认了它…

代码已经推送到远程,如何退回之前的提交记录

现状&#xff1a;代码已经推送到远程&#xff0c;如何退回之前的提交记录 Sourcetree工具实现 最后使用命令强制推送&#xff1a; git push origin dev --forceidea 工具实现 强行推送

google test 使用指南

目录 测试项目 calculator.h calculator.cpp test01.cpp 创建新项目 选择Google Test 选择要测试的项目 pch.cpp 加入依赖 设为启动项目 ​编辑 运行 ​编辑 关键点 测试项目 calculator.h #ifndef __CALCULATOR_H__ #define __CALCULATOR_H__#include <i…