当前位置: 首页 > news >正文

2.CSS3.(4).html

<!DOCTYPE html>

<html lang="zh-CN">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>CSS3 示例</title>

    <!-- 下面引用了字体图标CSS文件 -->

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

    <style>

        /* 动画

        动画是使元素从一种样式逐渐变化为另一种样式的效果

        您可以改变任意多的样式任意多的次数

        请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%

        0% 是动画的开始,100% 是动画的完成。 */

        .a {

            width: 300px;

            height: 300px;

            background-color: red;

            animation: anima 5s linear 5s infinite;

            /* animation执行动画

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

                name: 动画名称,这里对应@keyframes的名称anima

                duration: 动画持续时间

                timing-function: 规定动画的速度曲线(如下)

                delay: 动画延迟时间

                iteration-count: 动画播放次数

                direction: 动画播放方向(如下)*/

            /* timing-function值:

                1.linear: 规定动画以相同的速度开始到结束

                2.ease: 规定动画以慢速开始,然后加快,在结束时变慢(默认值)

                3.ease-in: 规定动画以慢速开始

                4.ease-out: 规定动画以慢速结束

                5.ease-in-out: 规定动画以慢速开始和结束*/

            /* direction值

                1.normal: 动画正常播放(默认值)

                2.reverse: 动画正常播放,但顺序是相反的

                3.alternate: 动画正常播放,然后顺序是相反的,再正常播放,以此类推

                4.alternate-reverse: 动画正常播放,然后顺序是相反的,再正常播放,然后顺序是相反的,以此类推

                5.initial: 设置该属性为初始值 */

        }

        .a:hover {

            animation-play-state: paused;

        }

        /* :hover 是一个伪类,它表示当用户将鼠标悬停在选中的元素上时触发的状态。 */

        /* animation-play-state 是一个 CSS 属性,用于控制动画的播放状态。

        它有两个主要取值:

        running:表示动画正在运行。

        paused:表示动画暂停。 */

        @keyframes anima {

            0% {

                background-color: red;

            }

           

            50% {

                background-color: green;

            }

           

            100% {

                background-color: blueviolet;

            }

        }

        /* 用动画实现呼吸效果 */

        .box {

            width: 500px;

            height: 400px;

            margin: 40px auto;

            background-color: #2b92d4;

            border-radius: 5px;

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

            animation: breathe 2700ms ease-in-out infinite alternate;

            /* 为盒子应用名为 breathe 的动画,动画持续时间为 2700 毫秒(即 2.7 秒),

            动画的速度曲线是 ease-in-out(先慢后快再慢),

            动画无限循环播放,并且每次循环结束后反向播放。 */

        }

        @keyframes breathe {

            0% {

                opacity: .2;

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

            }

            50% {

                opacity: .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)

            }

        }

        /* 0%:动画开始时的状态。此时盒子的不透明度为 0.2(即 20% 透明),

        盒子的阴影颜色为半透明白色,阴影效果微弱。

        50%:动画进行到一半时的状态。盒子的不透明度变为 0.5(即 50% 透明),

        阴影颜色变为半透明绿色。

        100%:动画结束时的状态。盒子完全不透明(不透明度为 1),

        阴影颜色变为青色,并且阴影的模糊半径增大到 30 像素,阴影效果更明显。 */



        /* 媒体查询

        媒体查询能使页面在不同在终端设备下达到不同的效果

        媒体查询会根据设备的大小自动识别加载不同的样式 */

        /* 设置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)*/

        /* 媒体查询语法 */

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

            /* 设备小于768px加载样式 */

            body{

                background-color: red;

            }

        }

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

            /* 设备小于768px但小于992px加载样式  */

            body{

                background-color: pink;

            }

        }

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

            /* 设备大于992px加载样式 */

            body{

                background-color: green;

            }

        }



        /* 雪碧图

        CSS Sprite也叫CSS精灵图、CSS雪碧图,是一种网页图片应用处理方式。

        它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,

        然后通过CSS的background-position属性来显示大图中的某一部分,

        从而达到减少HTTP请求次数,提高页面加载速度的目的。 */

        /* 优点

        1. 减少图片的字节

        2. 减少网页的http请求,从而大大的提高页面的性能 */

        /* 原理

        1. 通过background-image引入背景图片

        2. 通过background-position把背景图片移动到自己需要的位置 */

        .icon1 {

            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;

        }


       

        /* 字体图标

        我们会经常用到一些图标。但是我们在使用这些图标时,往往会遇到失真的情况,而且图片数量很多的话,页面加载就越慢。

        所以,我们可以使用字体图标的方式来显示图标,既解决了失真的问题,也解决了图片占用资源的问题

        常用字体图标库:[阿里字体图标库](https://iconfont.cn/)*/

        /* 优点

        1. 轻量性:加载速度快,减少http请求

        2. 灵活性:可以利用CSS设置大小颜色等

        3. 兼容性:网页字体支持所有现代浏览器,包括IE低版本 */

        /* 使用字体图标

        1. 注册账号并登录

        2. 选取图标或搜索图标

        3. 添加购物车

        4. 下载代码

        5. 选择 `font-class`引用 */

        .home{

            font-size: 100px;

            color: #e1251b;

        }

</style>

</head>

<body>

    <div class="a"></div>

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

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

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

    <span class="iconfont icon-home home"></span>

    <span class="iconfont icon-dizhi home"></span>

</body>

</html>

http://www.dtcms.com/a/540713.html

相关文章:

  • 记一次诡异的“偶发 404”排查:CDN 回源到 OSS 导致 REST API 失败
  • C++笔记(面向对象)类模板
  • Selenium IDE下载和安装教程(附安装包)
  • Quartz框架实现根据设置的cron表达式进行定时任务执行
  • linux20 线程同步--信号量
  • 内核的文件预取逻辑及blockdev的相关配置
  • [特殊字符] Web 字体裁剪优化实践:把 42MB 字体包瘦到 1.6MB
  • 平滑过渡,破解多库并存:浙人医基于金仓KFS的医疗信创实战解析
  • 做经营性的网站需要注册什么条件网站构思
  • Answer企业社区实战:零成本搭建技术问答平台,远程协作效率提升300%!
  • “听书”比“看书”更省力?
  • 大连 手机网站案例网站定位方案
  • window安装MYSQL5.5出错:a windows service with the name MYSQL alreadyexists....
  • 珠海做网站报价影响网站排名的因素
  • 6.1.2.2 大数据方法论与实践指南-离线任务SQL 任务开发规范
  • Java 大视界 -- Java 大数据在智能交通高速公路收费系统优化与通行效率提升实战(429)
  • 网站可以做怀孕单吗平面设计图数字标识
  • 图神经网络入门:手写一个 VanillaGNN-从邻接矩阵理解图神经网络的消息传递
  • 网站模版带后台酒类招商网站大全
  • 营销型网站创建网页制作三剑客通常指
  • 【笔试真题】- 电信-2025.10.11
  • 云渲染与传统渲染:核心差异与适用场景分析
  • 什么是流程监控?如何构建跨系统BPM的实时监控体系?
  • 直通滤波....
  • eclipse做网站代码惠州市
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十五)Redis模块-Redis主从复制
  • 视频网站自己怎么做的正规的大宗商品交易平台
  • vue3 实现贪吃蛇手机版01
  • 胶州网站建设dch100室内装修设计师工资一般多少钱
  • 计算机视觉、医学图像处理、深度学习、多模态融合方向分析