Web前端开发之CSS_3

  • CSS3 新特性
  • 动画
  • 媒体查询
  • 雪碧图
  • 字体图标

1. CSS3 新特性

1.1 圆角

        使用CSS3 border-radius 属性,可以给任何元素制作“圆角”。border-radius属性,可以使用以下规则:

  • 四个值:依次为左上角、右上角、右下角和左下角(顺时针)
  • 三个值:第一个值为左上角,第二个值为右上角和左下角,第三个值为右下角
  • 两个值:第一个值为左上角和右下角,第二个值为右上角和左下角
  • 一个值:四个圆角值相同
1.2 阴影

        box-shadow向框添加一个或多个阴影。

box-shadow: h-shadow v-shadow blur color;

描述
h-shadow必选,水平阴影的位置
v-shadow必选,垂直阴影的位置
blur可选,模糊距离
color可选,阴影的颜色

2. 动画

        动画是使元素从一种样式逐渐变化为另一种样式的效果。可以改变任意多的样式任意多的次数。用百分比来规定变化发生的时间,或用关键词"from""to",等同于0%100%

2.1 @keyframes创建动画

@keyframes name{                // name:动画名称,开发人员自己命名

        from|0%{

                css样式

        }

        percent{                         // 为百分比值,可添加多个百分比值

                css样式

        }

        to|100%{

                css样式

        }

}

2.2 animation执行动画

animation: name duration timing-function delay iteration-count direction;

描述
name设置动画名称
duration设置动画持续时间
timing-function设置动画效果的速率(如下)
delay设置动画的开始时间(延时执行)
iteration-count设置动画循环的次数,infinite为无线次数的循环
direction设置动画播放的方向(如下)
animation-play-state控制动画的播放状态:running代表播放,pause代表停止播放
timing-function值描述
ease逐渐变慢(默认)
linear匀速
ease-in加速
ease-out减速
ease-in-out先加速后减速
direction值描述
normal默认值为normal表示向前播放
alternate动画播放在第偶数次向前播放,第奇数次反方向播放
 2.3 切换背景颜色

div{

        width: 200px;

        height: 200px;

        background-color: red;

        animation: myAnim 3s linear 0s infinite;

}

div:hover{

        animation-play-state: paused;             // 可用于更改背景颜色

}

@keyframes myAnim{

        0%{

                width: 200px;

                background-color: red;

        }

        50%{

                width: 400px;

                background-color: green;

        }

        100%{

                width: 200px;

                background-color: red;

        }

}

2.4 呼吸效果

.box{

        width: 500px;

        height: 500px;

        margin: 40px auto;

        background-color: #2b92d4;

        border-radius: 5px;

        box-shadow: 0 1px 2px rgba(0, 0, 0, .3);

        animation: breathe 1s ease-in-out infinite alternate;

}

@keyframes breathe{

        0%{

                opacity: 0.2;

                box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1);

        }

        50%{

                opacity: 0.5;

                box-shadow: 0 1px 2px rgba(18, 190, 84, 0.76);

        }

        100%{

                opacity: 1;

                box-shadow: 0 1px 30px rgba(59, 255, 255, 1);

        }

}

3. 媒体查询

        媒体查询能使页面在不同终端设备下达到不同的效果。媒体查询会根据设备的大小自动识别加载不同的样式

3.1 设置meta标签

        使用设备的宽度作为视图宽度并禁止初始的缩放。在<head>标签里加入这个meta标签。

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

  • width = device-width 宽度等于当前设备的宽度
  • initial-scale 初始的缩放比例(默认设置为1.0)
  • maximum-scale 允许用户缩放到的最大比例(默认设置为1.0)
  • user-scalable 用户是狗可以手动缩放(默认设置为no)
3.2 媒体查询语法

<div class="box"></div>

<p class="p1">哈哈哈</p>

<p class="p2">呵呵呵</p>

@media screen and (max-width:768px) {    /* 设备小于768px加载样式 */

        .box{

                background-color: aqua;

        }

        .p1{

                display: none;

        }

        .p2{

                display: none;

        }

}

@media screen and (min-width:768px) and (max-width:996px) {

        .box{

                background-color: chartreuse;

        }

        .p1{

                display: none;

        }

        .p2{

                display: block;

        }

}

@media screen and (min-width:996px) {

        .box{

                background-color: red;

        }

        .p1{

                display: block;

        }

        .p2{

                display: block;

        }

4. 雪碧图

        CSS Sprite也叫CSS精灵图、CSS雪碧图,是一种网页图片应用处理方式。它允许将一个页面涉及到的所有零星图片都包含到一张大图中去

优点:

  • 减少图片的字节
  • 减少网页的http请求,从而大大的提高页面的性能

原理:

  • 通过background-image引入背景图片
  • 通过background-position把背景图片移动到自己需要的位置

<i class="icon1"></i>

<i class="icon2"></i>

.icon{

        display:block;                                // 设置为块级元素后,可设置宽高属性

        background-image:url(1.png);

        background-position: -20px 0;

        width:45px;

        height:70px;

.icon2{    

        display:block;

        background-image:url(1.png);

        background-position: -93px -84px;

        width:45px;

        height:70px;

}

5. 字体图标

        使用图标时,会遇到失真的情况,而且图片数量越多,页面加载就越慢。所以,可以使用字体图标的方式显示图标既解决了失真问题,也解决了图片占用资源的问题

常用字体图标库:阿里字体图标库

优点:

  • 轻量性:加载速度快,减少http请求
  • 灵活性:可利用CSS设置大小颜色等
  • 兼容性:网页字体支持所有现代浏览器,包括IE低版本

使用字体图标:

  • 注册账号并登录
  • 选取图标或搜索图标
  • 添加购物车
  • 下载代码
  • 选择 font-class 引用

<span class="iconfont icon-add-circle"></span>

<link rel="stylesheet" href="./css/iconfont.css">

.iconfont{

        font-size:35px;

        background-color:#e1251b

}

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

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

相关文章

C++ 多态(一)

一、多态定义 同一种操作作用于不同的对象时&#xff0c;可以产生不同的行为。在面向对象编程中&#xff0c;多态性是指通过继承和重写实现的&#xff0c;同一个方法在不同的子类中可以表现出不同的行为。多态性可以提高代码的灵活性和可扩展性&#xff0c;使得程序更易于维护…

Golang中实现调用Windows API向指定目标发送ARP请求

简介 Go库中很多实现的arp都是支持osx/linux/bsd之类的&#xff0c; 但几乎没有支持windows的&#xff0c; 也试了一些方式&#xff0c; 目前还是选用调用windows的API&#xff0c; 记录一下这一次windows的API的调用经验。 实现 代码 package main/* #cgo CFLAGS: -I. #cgo …

Altium Designer——检查原理图库正确性并生成报告

一、方法&#xff1a; 1.打开原理图库&#xff1a; 2.点击菜单栏的报告选项&#xff1a; 3.选择器件规则检查&#xff1a; 根据需求勾选&#xff0c;一般都是全部勾选&#xff1a; 二、问题&#xff1a; 1.缺少封装会导致什么问题&#xff1a; 1.首先&#xff1a; 封装是…

网络相关笔记

IPv4地址 IPv4地址通常以“点分十进制”形式书写&#xff0c;即四个0-255之间的十进制数&#xff0c;各数之间用英文句点&#xff08;.&#xff09;分隔&#xff0c;例如&#xff1a;192.0.2.1。总共32位的地址空间可以表示大约42亿个不同的地址。 IPv4地址结构包括&#xff…

Django开发实战之登录用户鉴权登录界面实现

Django自带的鉴权系统非常的安全&#xff0c;大家可以放心使用&#xff0c;那么如何使用呢&#xff1f; 1、首先需要检查settings文件种的INSTALLED_APPS&#xff0c;有没有这两部分内容&#xff1a; 2、检查中间件&#xff0c;比如这两个中间件&#xff0c;一个是用于登录&a…

io (fscanf fprintf)

20 #include <sys/un.h>21 typedef struct stu22 {23 char name[16];24 int age;25 double score;26 }stu;27 int main(int argc, const char *argv[])28 {29 /* 有如下结构体30 31 申请该结构体数组&#xff0c;容量为5&#xff0c;初始化5个学生的信息32 …

【高校科研前沿】中国科学院地理资源所钟帅副研究员研究组博士生朱屹东为一作在Top期刊发文:从潜力到利用:探索西藏风能资源开发的技术路径优化布局

01 文章简介 论文名称&#xff1a;From potential to utilization: Exploring the optimal layout with the technical path of wind resource development in Tibet&#xff08;从潜力到利用:探索西藏风能资源开发的技术路径优化布局&#xff09; 文章发表期刊&#xff1a;《…

Wireshark明文抓取

目录 原理 配置 1、配置环境变量 2、Wireshark配置 原理 SSLKEYLOGFILE是一个用于记录SSL/TLS会话中使用的密钥的文件。它主要用于调试和分析SSL/TLS协议。当启用了SSLKEYLOGFILE配置&#xff0c;系统会将所有SSL/TLS会话中使用的密钥记录到指定的文件中。这些密钥可以用来…

景源畅信数字:抖音怎么挂橱窗商品?

抖音作为一款短视频分享平台&#xff0c;近年来逐渐融入了电商功能&#xff0c;其中“橱窗”就是商家或个人展示和销售商品的一个重要工具。如何在抖音上挂橱窗商品&#xff0c;成为了众多商家关注的焦点。 一、确保账号资质&#xff1a;在抖音上挂橱窗商品前&#xff0c;需要确…

重写muduo之EPollPoller

1、EPollPoller.h EPollPoller的主要实现&#xff1a;作为poller的派生类&#xff0c;把基类给派生类保留的这些纯虚函数的接口实现出来。 override表示在派生类里面&#xff0c;这些方法是覆盖方法。必须由编译器来保证在基类里面一定有这些函数的接口的声明。在派生类要重写…

标准IO学习

思维导图&#xff1a; 有如下结构体 struct Student{ char name[16]; int age; double math_score; double chinese_score; double english_score; double physics_score; double chemistry_score; double bio_score; }; 申请该结构体数组&#xff0c;容量为5&#xff0c;初始…

(数据分析方法)长期趋势分析

目录 一、定义 二、目的 三、方法 1、移动平均法 (1)、简单移动平均法 (2)、加权移动平均法 (3)、指数平滑法 2、最小二乘法 3、线性回归 1、数据预处理 2、观察数据分布建立假设模型 3、定义损失函数 4、批量梯度下降 5、优化 4、LSTM 时序分析 5、特征工程 一…

智能家居1 -- 实现语音模块

项目整体框架: 监听线程4&#xff1a; 1. 语音监听线程:用于监听语音指令&#xff0c; 当有语音指令过来后&#xff0c; 通过消息队列的方式给消息处理线程发送指令 2. 网络监听线程&#xff1a;用于监听网络指令&#xff0c;当有网络指令过来后&#xff0c; 通过消息队列的方…

X 推出 Stories 功能,由 Grok AI 生成新闻摘要

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

OCC笔记:图形可视化的实现方式

注&#xff1a;文中参看的occ的源码版本为7.4.0 1、实现思路概览 整体架构 主要有3大块&#xff1a;AIS&#xff08;Application Interactive Services &#xff0c;直译为&#xff1a;应用程序交互服务&#xff09;、Graphics&#xff08;图形&#xff09;、Geometry & T…

磐石云最版本使用教程

磐石云外呼系统是一款集成了呼叫平台、电话线路和话术系统的软件&#xff0c;旨在提高企业的电话营销效率。以下是磐石云外呼系统的基本操作步骤&#xff1a; 安装和配置&#xff1a; 首先需要在Linux操作系统上安装磐石云外呼系统&#xff0c;通常需要至少4核CPU、8GB内存以及…

MyCat安装

MyCat安装 官网下载地址打不开说明采用站点的方式进行下载基础包 &#xff1a;程序包&#xff1a; 配置原型库数据源root.user.json 配置文件说明&#xff08;默认配置&#xff09; Mycat启动授权启动mycat启动mycat查看mycat日志连接Mycat 官网下载地址打不开说明 官网可能受…

FreeBSD RISCV 在QEME中实践-网络配置

在前一篇文章中&#xff0c;我们一起进行了FreeBSD RISCV 在QEME中实践 现在&#xff0c;让我们配置好网络吧&#xff01; 先上结论&#xff1a;用默认配置启动即可&#xff0c;网络就加载好了&#xff0c;只是不能ping罢了。因为不能ping&#xff0c;以为网络没通&#xff0…

linux文件夹权限查看以及设置

1.linux给文件夹和子文件夹开权限 2.查询当前文件夹权限

java 泛型题目讲解

泛型的知识点 泛型仅存在于编译时期&#xff0c;编译期间JAVA将会使用Object类型代替泛型类型&#xff0c;在运行时期不存在泛型&#xff1b;且所有泛型实例共享一个泛型类 public class Main{public static void main(String[] args){ArrayList<String> list1new Arra…
最新文章