CSS高级技巧导读

news2024/11/17 13:29:53

1,精灵图

1.1 为什么需要精灵图?

目的:为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度

核心原理:将网页中的一些小背景图像整合到一张大图中,这样服务器只需要一次请求就可以了

1.2 精灵图的使用

使用精灵图核心:

1,精灵技术主要针对于背景图片使用,就是把多个小背景图片整合到一张大图片中

2,这个大图片也称为sprites   精灵图  或者  雪碧图

3,移动背景图片位置,此时可以使用 background-position

4,移动的距离就是这个目标图片的 x 和 y 坐标。(x轴往右走是正值,y轴往下走是正值)

5,因为一般情况下都是往上往左移动,所以数值是负值

6,使用精灵图的时候需要精确测量,每个小背景图片的大小和位置

2,字体图标

2.1 字体图标的产生

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

精灵图有很多优点,但是缺点很明显:

1,图片文件还是比较大的

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

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

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

2.2 字体图标的优点

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

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

3,兼容性:几乎支持所有的浏览器,请放心使用

注意:字体图标不能代替精灵技术,只是对工作中图标部分技术的提升和优化

总结:

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

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

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

1,字体图标的下载

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

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

2.3 字体图标的下载

推荐下载网站:

icomoon字库:                http://icomoon.io

阿里iconfont字库:          http://www.iconfont.cn/

3,CSS三角 

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

div{
    width:0;
    height:0;
    /*为了照顾兼容性*/
    line-height:0;
    font-size:0;
    border:50px solid transparents;
    border-left-color:pink;
}

4,CSS用户界面样式

4.1 什么是界面样式 

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

4.2 更改用户的鼠标样式 cursor

li { cursor:pointer;}

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

default                小白 默认

pointer                小手

move                  移动

 text                    文本

not-allowed        禁止

4.3 表单轮廓线 outline

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

input { outline:none;}

input {outline:0;}

<input style="outline: none;" type="text">

4.4 防止表单域拖拽 resize

textarea { resize:none;}

<textarea style="resize: none;" name="" id="" cols="30" rows="10"></textarea>

5,vertical-align 属性应用

5.1 图片、表单和文字对齐

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

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

语法:

vertical-align: baseline  |  top  |  middle  |  bottom

baseline(基线)                        默认,元素放置在父元素的基线上

top (顶线)                               把元素的顶端与行中最高元素的顶端对齐

middle(中线)                           把此元素放置在父元素的中部

bottom(底线)                          把元素的顶端与行中最低的元素的顶端对齐 

 

img{
   /* 图片与文字底线对齐 */
   vertical-align: bottom;
}

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

bug:为图片添加边框时,图片底侧会有一个空白缝隙,(原因是行内块元素会和文字的基线对齐)

 主要解决方式有两种:

① 给图片添加 vertical-align:middle | top | bottom等。(提倡)

② 把图片转换为块级元素 display:block;

6,溢出的文字省略号显示

1,单行文本溢出显示省略号

1,先强制一行内显示文本

white-space:nowrap;(默认normal 自动换行)

2,超出部分隐藏

overflow:hidden;

3,文字用省略号替代超出的部分

text-overflow:ellipsis;

2,多行文本溢出显示省略号(了解)

多好文本溢出显示省略号,有较大兼容性问题,适合于 webKit浏览器 或 移动端

overflow:hidden;

text-overflow:ellipsis;

/*弹性伸缩盒子模型显示*/

display:-webkit-box;

/*限制在一个块元素显示的文本的行数*/

-webkit-line-clamp:2;

/*设置或检索伸缩盒对象的子元素的排列方式*/

-webkit-box-orient:vertical;

7,常见布局技巧

7.1,margin负值的运用

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

li{
        list-style: none;
        float: left;
        width: 150px;
        height: 200px;
        border: 1px solid pink;
        margin-left: -1px;
      }

 2,鼠标经过某个盒子的时候,提高当前盒子的层级

如果没有定位,则加相对定位(保留位置)

如果有定位,则添加z-index

7.2,文字围绕浮动元素

7.3,行内块的巧妙运用

7.4,CSS三角强化

CSS制作直角三角形

底部删除,上部边框加大,左边透明

.box{
        width: 0;
        height: 0;
        border-top: 200px solid transparent;
        border-left: 100px solid transparent;
        border-right: 100px solid red;
        border-bottom: 0 solid gold;
      }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解锁无限可能,Roxlabs代理引领未来网络新体验

文章目录 前言网络隐匿利器&#xff1a;IP代理什么是Roxlabs&#xff1f;世界百花争艳&#xff0c;我独爱一枝什么是住宅IP&#xff1f;如何选择代理类型 利用IP代理进行国外数据采集实战教学附赠一个利用代理IP实现赚钱的方法总结 前言 在数字时代的今天&#xff0c;我们对于…

【Linux】—— 信号的基本介绍(一)

目录 &#xff08;一&#xff09;生活角度的信号 &#xff08;二&#xff09;查看信号列表 &#xff08;三&#xff09;技术应用角度的信号 &#xff08;四&#xff09;信号的概念 &#xff08;五&#xff09;小结 &#xff08;一&#xff09;生活角度的信号 我们要学习有关…

Java 数据结构集合

文章目录 Java 数据结构1. 基本数据结构1.1 数组 (Array)1.2 链表 (Linked List)1.3 栈 (Stack)1.4 队列 (Queue)双向队列优先级队列 2. 树形数据结构2.1 二叉树 (Binary Tree)2.2 堆 (Heap) 3. 散列数据结构3.1 哈希表 (Hash Map)3.2 LinkedHashMap3.3 TreeMapConcurrentHashM…

pytorch(二)梯度下降算法

文章目录 优化问题梯度下降随机梯度下降 在线性模型训练的时候&#xff0c;一开始并不知道w的最优值是什么&#xff0c;可以使用一个随机值来作为w的初始值&#xff0c;使用一定的算法来对w进行更新 优化问题 寻找使得目标函数最优的权重组合的问题就是优化问题 梯度下降 通…

Nginx问题分析

问题再现 分析问题&#xff1a; 就是通过http://182.44.16.68:8077/web-ui/static/js/chunk-libs.82635094.js 地址访问&#xff0c;找不到对应的js文件 首先确认文件在服务器的位置 发现这个目录下确实有这个js文件&#xff0c;那问题就在于http://182.44.16.68:8077/web-ui…

225.用队列实现栈(附带源码)

目录 一、思路 二、源码 一、思路 所以&#xff0c;创建两个队列 入栈&#xff0c;那个不空入那个 出栈&#xff0c;移动不空的队列的前n-1个到空队列&#xff0c;出队列第n个 很简单 总的来说&#xff0c;就是 下面直接手撕代码&#xff1a; 二、源码 typedef int QDa…

Unity_使用Image和脚本生成虚线段

生成如图样式的虚线段 原理&#xff1a;使用Image做一条线段&#xff0c;这个方法的原理就是给固定的片元长度&#xff0c;对Image进行分割&#xff0c;把片元添加到一个列表中&#xff0c;然后循环对列表中的偶数位进行隐藏&#xff0c;也可以调整线段的宽度 缺陷&#xff1…

Pandas.Series.idxmin() 最小值索引 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本&#xff1a; 本文基于 pandas2.2.0 编写。 关于本文内容更新&#xff1a; 随着pandas的stable版本更迭&#xff0c;本文持续更新&#xff0c;不断完善补充。 传送门&#xff1a; Pandas API参考目录 传送门&#xff1a; Pandas 版本更新及新特性 传送门&…

Java Web(二)--HTML

基本介绍 官网文档地址: HTML 教程 HTML&#xff08;HyperText Mark-up Language&#xff09;即超文本标签语言&#xff1b;HTML 文本是由 HTML 标签组成的文本&#xff0c;可以包括文字、图形、动画、声音、表格、链接等&#xff1b;HTML 的结构包括头部&#xff08;Head&…

如何通过内网穿透+代理共享网络

去年写了一篇博客&#xff1a;如何通过代理共享网络&#xff0c;在这篇文章探索了怎么在同一个局域网内共享代理服务。不过&#xff0c;它的实用性也比较缺乏&#xff0c;要求必须处于同一个局域网之下&#xff0c;大多数时候&#xff0c;我们可能很难有这样的环境。所以&#…

【GitHub项目推荐--12 年历史的 PDF 工具开源了】【转载】

最近在整理 PDF 的时候&#xff0c;有一些需求普通的 PDF 编辑器没办法满足&#xff0c;比如 PDF 批量合并、编辑等。 于是&#xff0c;我就去 GitHub 上看一看有没有现成的轮子&#xff0c;发现了这个 PDF 神器「PDF 补丁丁」&#xff0c;让人惊讶的是这个 PDF 神器有 12 年的…

基于SpringBoot Vue美食网站系统

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#x…

mysql生成最近24小时整点/最近30天/最近12个月时间临时表

文章目录 生成最近24小时整点生成最近30天生成最近12个月 生成最近24小时整点 SELECT-- 每向下推1行, i比上次减去1b.*, i.*,DATE_FORMAT( DATE_SUB( NOW(), INTERVAL ( -( i : i - 1 ) ) HOUR ), %Y-%m-%d %H:00 ) AS time FROM-- 目的是生成12行数据( SELECTa FROM( SELECT…

可直接将视频转文字的工具,速到快到离谱!

如何将视频转换成文字&#xff0c;推荐大家使用视频提取文案小助手&#xff0c;三秒一键搞定&#xff0c;真的快到离谱​&#xff01; 不少草根博主在做短视频的时候&#xff0c;就有很多人给大家支招让大家先模仿后超越的模式&#xff0c;激起一众爱好短视频的草根博主成为短…

Scrapy爬虫在新闻数据提取中的应用

Scrapy是一个强大的爬虫框架&#xff0c;广泛用于从网站上提取结构化数据。下面这段代码是Scrapy爬虫的一个例子&#xff0c;用于从新闻网站上提取和分组新闻数据。 使用场景 在新闻分析和内容聚合的场景中&#xff0c;收集和组织新闻数据是常见需求。例如&#xff0c;如果我…

【小黑嵌入式系统第十六课】PSoC 5LP第三个实验——μC/OS-III 综合实验

上一课&#xff1a; 【小黑嵌入式系统第十五课】μC/OS-III程序设计基础&#xff08;四&#xff09;——消息队列&#xff08;工作方式&数据通信&生产者消费者模型&#xff09;、动态内存管理、定时器管理 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂…

纯注解开发bean

注解开发定义bean&#xff1a;Controller:用于表现层bean定义&#xff1b;Service&#xff1a;用于业务层bean定义&#xff1b;Repository&#xff1a;用于数据层bean定义。 我们先来完成数据层和业务逻辑层的注解 数据层&#xff1a; package org.example.dao.impl;import or…

智慧博物馆信息化系统建设(3)

博物馆智能电子导览系统 IPAD智能化定制服务 系统采用的IPAD。使用者通过智能IPAD终端上的三维立体导图,可以在参观的同时,随时读取展馆平面地图以及展品相关信息,然后选择相关服务。简单操作便可获得文字、图片、声音以及视频资料展现给使用者。 游客通过该智能IPAD终端…

构建中国人自己的私人GPT—与文档对话

先看效果 他可以从上传的文件中提取内容作为答案。上传文件摄取速度 摄取速度取决于您正在摄取的文档数量以及每个文档的大小。为了加快摄取速度&#xff0c;您可以在配置中更改摄取模式。 存在以下摄取模式&#xff1a; simple&#xff1a;历史行为&#xff0c;一次按顺序摄…

03 SpringBoot实战 -微头条之首页门户模块(跳转某页面自动展示所有信息+根据hid查询文章全文并用乐观锁修改阅读量)

1.1 自动展示所有信息 需求描述: 进入新闻首页portal/findAllType, 自动返回所有栏目名称和id 接口描述 url地址&#xff1a;portal/findAllTypes 请求方式&#xff1a;get 请求参数&#xff1a;无 响应数据&#xff1a; 成功 {"code":"200","mes…