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

CSS重点知识整理1

目录

1 平面位移

1.1 基本使用

1.2 单独方向的位移

1.3 使用平面位移实现绝对位置居中

2 平面旋转

2.1 基本使用

2.2 圆点转换

2.3 多重转换

3 平面缩放

3.1 基本使用

3.2 渐变的使用

4 空间转换

4.1 空间位移

4.1.1 基本使用

4.1.2 透视

4.2 空间旋转

4.3 立体呈现案例

5 动画

5.1 基本使用

5.2 动画的其它相关属性

5.2.1 linear 设置匀速

5.2.2 分布动画

5.2.3 延迟时间

5.2.4 重复次数

5.2.5 动画方向  alternate

5.2.6 执行完毕的状态

5.2.7 动画的拆分写法


1 平面位移

1.1 基本使用

语法: translate(水平移动距离, 垂直移动距离)

取值:正负均可,X轴正向为右,Y轴正向为下

    <style>.father{display: flex;justify-content: center;align-items: center;width: 200px;height: 200px;background-color: red;border: 2px solid black;}.child {width: 100px;height: 100px;background-color: blue;border: 1px solid black;transition: all 2s;}/* 父元素的hover事件,子元素的样式改变 */.father:hover .child {/* transform: translate(50px, 50px); */  /* transform: translate(-50px, -50px); *//* 给的是百分比的话,参考盒子自身尺寸计算结果 */transform: translate(50%, 50%);}</style>

可以给子元素添加:transition: all 2s; 过渡属性


1.2 单独方向的位移

 单独方向的移动:

    transform: translateX(水平移动距离);

    transform: translateY(垂直移动距离);

    <style>.father{display: flex;justify-content: center;align-items: center;width: 200px;height: 200px;background-color: red;border: 2px solid black;}.child {width: 100px;height: 100px;background-color: blue;border: 1px solid black;transition: all 2s;}/* 父元素的hover事件,子元素的样式改变 */.father:hover .child {/* transform: translateX(50px); */transform: translateY(50px);}</style>

1.3 使用平面位移实现绝对位置居中

    <style>.father{position: relative;width: 200px;height: 200px;background-color: red;border: 2px solid black;}.child {position: absolute;left: 50%;top: 50%;/* 1.之前的写法 *//* margin-left: -50px;margin-top: -50px; *//* 2.位移写法 */transform: translateX(-50px) translateY(-50px);width: 100px;height: 100px;background-color: blue;border: 1px solid black;}</style>

2 平面旋转

2.1 基本使用

    <style>img {display: block;margin: 100px auto;width: 300px;border: 1px solid black;transition: all 1s;  /* 旋转效果必须配合过渡,才有效 */}img:hover {/* 取值为正数顺时针,负数为逆时针 */transform: rotate(360deg);  }</style>

旋转效果必须配合过渡transition,才有效


2.2 圆点转换

 转换圆点:transform-origin: 圆点水平位置,圆点垂直位置;

 取值:

        方位名词:left、right、top、bottom、center

        百分比:0%、50%、100% (参照盒子自身尺寸)

        像素:100px、200px


 

2.3 多重转换

    <style>/* 旋转和位移   tranform混合属性实现多形态转换 */.box {width: 700px;height: 100px;border: 2px solid black;overflow: hidden;}img {width: 150px;height: 100px;transition: all 3s;}.box:hover img {transform: translateX(550px) rotate(360deg);/* 必须先有位移,才能有旋转效果, 不能颠倒顺序 *//* 因为先旋转会改变坐标轴方向 ,位移的方向会受影响*/}</style>

3 平面缩放

    语法:

            transform: scale(缩放倍数);

            一般情况下:只为scale设置一个值,表示x轴和y轴等比例缩放,大于1放大,小于1缩小,等于1保持不变

3.1 基本使用

    <style>.box{margin: 100px auto;width: 300px;height: 300px;border: 2px solid black;}img {width: 300px;height: 300px;transition: all 1s;}.box:hover img {/* 没有单位 */transform: scale(1.5);  transform: scale(0.6);}</style>

3.2 渐变的使用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>css</title><style>.box{position: relative;width: 300px;height: 300px;border: 1px solid black;}img {width: 100%;height: 100%;}.box .mask{position: absolute;top: 0;left: 0;width: 300px;height: 300px;background-image: linear-gradient(/* transparent 表示透明色 */transparent,rgba(0, 0, 0, 0.5));opacity: 0;transition: all 0.5s;}.box:hover .mask{opacity: 1;   }</style>
</head>
<body><div class="box"><img src="./images/girl2.jpg" alt=""><!-- 添加渐变背景的盒子 --><!-- 遮罩层 --><div class="mask"></div></div>
</body>
</html>

4 空间转换

    空间:是从坐标轴角度定义。x, y, z三条坐标轴构成一个立体空间,z轴位置

            与视线方向相同的为正方向。负值指向里。

    使用的属性也是 transform

4.1 空间位移

4.1.1 基本使用

语法:   

        transform: translate3d(水平移动距离);

    <style>body {perspective: 1000px;}.box {width: 300px;height: 300px;background-color: skyblue;border: 2px solid black;transition: all 1s;}.box:hover {transform: translate3d(100px, 100px, 100px);}</style>

单独控制每个方向的移动距离:   

        transform: translateX(移动距离);

        transform: translateY(移动距离);

        transform: translateZ(移动距离);

但是通过上述的方式,我们是看不到 Z 轴移动的距离的,所以就用到了下面的透视内容了。


4.1.2 透视

使用perspective属性设置透视   近大远小

    perspective: 1000px;

    想看到哪个元素,就给该元素的父级元素添加perspective属性

    取值一般为 800-1200px


4.2 空间旋转

    <style>body {perspective: 1000px;}.box {margin: 400px auto;width: 300px;height: 300px;background-color: skyblue;border: 2px solid black;transition: all 1s;}.box:hover {/* transform: rotateZ(360deg);   旋转角度为Z轴旋转 相当于rotate(360deg); *//* transform: rotateX(60deg); */transform: rotateY(60deg);}</style>

4.3 立体呈现案例

【代码】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>立体呈现</title><style>.box {position: relative;;margin: 100px auto;width: 200px;height: 200px;transition: all 2s;transform-style: preserve-3d;}.box div {position: absolute;top: 0;left: 0;width: 200px;height: 200px;}.front {background-color: orange;transform: translateZ(200px);}.back {background-color: green;}.box:hover {transform: rotateY(360deg);   }</style>
</head>
<body><div class="box"><div class="front"></div><div class="back"></div></div>
</body>
</html>

5 动画

5.1 基本使用

    <style>.box{width: 300px;height: 300px;background-color: skyblue;  }/* 1.定义动画 */@keyframes play {/* 1. from to  形式 *//* from {width: 300px;height: 300px;}to {width: 500px;height: 500px;} *//* 2. 百分比形式 */0% {width: 300px;height: 300px;}50% {width: 400px;height: 400px;}100% {width: 500px;height: 500px;}}.box:hover {/* 使用动画 */animation: play 1s;}</style>

5.2 动画的其它相关属性

5.2.1 linear 设置匀速

animation: play 1s linear;

5.2.2 分布动画

steps(3)  分为3个动画帧 ...

animation: play 1s steps(3);

5.2.3 延迟时间

在动画中:第一个时间表示动画时长,第二个时间表示延迟时间

animation: play 1s 1s;

5.2.4 重复次数

animation: play 1s 3;  /* 重复3次 */
animation: play 1s infinite;    /*重复无穷次 */

5.2.5 动画方向  alternate

先执行再执行,有反向效果

animation: play 1s infinite alternate; 

5.2.6 执行完毕的状态

animation: play 1s backwards;  /* 默认值 backwards*/
animation: play 1s forwards;  /* 动画执行完毕的状态 */

 

5.2.7 动画的拆分写法

相关文章:

CSS重点知识整理1

目录 1 平面位移 1.1 基本使用 1.2 单独方向的位移 1.3 使用平面位移实现绝对位置居中 2 平面旋转 2.1 基本使用 2.2 圆点转换 2.3 多重转换 3 平面缩放 3.1 基本使用 3.2 渐变的使用 4 空间转换 4.1 空间位移 4.1.1 基本使用 4.1.2 透视 4.2 空间旋转 4.3 立…...

【Langchain多Agent实践】一个有推销功能的旅游聊天机器人

【LangchainStreamlit】旅游聊天机器人_langchain streamlit-CSDN博客 视频讲解地址&#xff1a;【Langchain Agent】带推销功能的旅游聊天机器人_哔哩哔哩_bilibili 体验地址&#xff1a; http://101.33.225.241:8503/ github地址&#xff1a;GitHub - jerry1900/langcha…...

算法学习(十二)并查集

并查集 1. 概念 并查集主要用于解决一些 元素分组 问题&#xff0c;通过以下操作管理一系列不相交的集合&#xff1a; 合并&#xff08;Union&#xff09;&#xff1a;把两个不相交的集合合并成一个集合 查询&#xff08;Find&#xff09;&#xff1a;查询两个元素是否在同一…...

TensorRT及CUDA自学笔记003 NVCC及其命令行参数

TensorRT及CUDA自学笔记003 NVCC及其命令行参数 各位大佬&#xff0c;这是我的自学笔记&#xff0c;如有错误请指正&#xff0c;也欢迎在评论区学习交流&#xff0c;谢谢&#xff01; NVCC是一种编译器&#xff0c;基于一些命令行参数可以将使用PTX或C语言编写的代码编译成可…...

数据库管理-第154期 Oracle Vector DB AI-06(20240223)

数据库管理154期 2024-02-23 数据库管理-第154期 Oracle Vector DB & AI-06&#xff08;20240223&#xff09;1 环境准备创建表空间及用户TNSNAME配置 2 Oracle Vector的DML操作创建示例表插入基础数据DML操作UPDATE操作DELETE操作 3 多Vector列表4 固定维度的向量操作5 不…...

解决uni-app vue3 nvue中使用pinia页面空白问题

main.js中&#xff0c;最关键的就是Pinia要return出去的问题&#xff0c;至于原因嘛! 很忙啊&#xff0c;先用着吧 import App from ./App import * as Pinia from pinia import { createSSRApp } from vue export function createApp() {const app createSSRApp(App);app.us…...

不用加减乘除做加法

1.题目&#xff1a; 写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内不得使用、-、*、/四则运算符号。 数据范围&#xff1a;两个数都满足 −10≤&#xfffd;≤1000−10≤n≤1000 进阶&#xff1a;空间复杂度 &#xfffd;(1)O(1)&#xff0c;时间复杂度 &am…...

旅游组团自驾游拼团系统 微信小程序python+java+node.js+php

随着社会的发展&#xff0c;旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一。为方便驴友出行&#xff0c;寻找旅游伙伴&#xff0c;更好的规划旅游计划&#xff0c;开发一款自驾游拼团小程序&#xff0c;通过微信小程序发起自驾游拼团&#xff0c;吸收有车或无车驴…...

LeetCode 第41天 | 背包问题 二维数组 一维数组 416.分割等和子集 动态规划

46. 携带研究材料&#xff08;第六期模拟笔试&#xff09; 题目描述 小明是一位科学家&#xff0c;他需要参加一场重要的国际科学大会&#xff0c;以展示自己的最新研究成果。他需要带一些研究材料&#xff0c;但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实…...

Ubuntu20.04和Windows11下配置StarCraft II环境

1.Ubuntu20.04 根据下面这篇博客就可以顺利安装&#xff1a; 强化学习实战(九) Linux下配置星际争霸Ⅱ环境https://blog.csdn.net/weixin_39059031/article/details/117247635?spm1001.2014.3001.5506 Ubuntu下显示游戏界面目前还没有解决掉。 大家可以根据以下链接看看能…...

【NCom】:通过高温气相合成调节Pt-CeO2相互作用以提高晶格氧的还原性

摘要&#xff1a;在这项工作中&#xff0c;我们比较了通过两种方法制备的 Pt 单原子催化剂&#xff08;SAC&#xff09;的 CO 氧化性能&#xff1a;&#xff08;1&#xff09;传统的湿化学合成&#xff08;强静电吸附strong electrostatic adsorption–SEA&#xff09;&#xf…...

git 将一个分支的提交移动到另一个分支

假设想把分支A上的最后一部分commit移动到分支B之上&#xff1a; 首先切到分支B git checkout B然后执行如下指令,commit id 为A分支上&#xff0c;需要移动的那些提交 git cherry-pick <commit id> &#xff08; <commit id> 可多个&#xff09;中途可能遇到一些…...

vue3 实现 el-pagination页面分页组件的封装以及调用

示例图 一、组件代码 <template><el-config-provider :locale"zhCn"><el-pagination background class"lj-paging" layout"prev, pager, next, jumper" :pager-count"5" :total"total":current-page"p…...

#FPGA(IRDA)

1.IDE:Quartus II 2.设备&#xff1a;Cyclone II EP2C8Q208C8N 3.实验&#xff1a;IRDA&#xff08;仿真接收一个来自0x57地址的数据0x22 (十进制34)&#xff09; 4.时序图&#xff1a; 5.步骤 6.代码&#xff1a; irda_receive.v module irda_receive ( input wire…...

Sora—openai最新大模型文字生成视频

这里没办法发视频&#xff0c;发几个图片感受感受吧 OpenAI发布了Sora&#xff0c;一种文字生成视频的技术&#xff0c;从演示看&#xff0c;效果还是相当不错的。 Sora的强大之处在于其能够根据文本描述&#xff0c;生成长达 60秒的视频&#xff0c;其中包含精细复杂的场景…...

VoIP(Voice over Internet Protocol 基于IP的语音传输)介绍(网络电话、ip电话)

文章目录 VoIP&#xff08;基于IP的语音传输&#xff09;1. 引言2. VoIP基础2.1 VoIP工作原理2.2 VoIP协议 3. VoIP的优势和挑战3.1 优势3.2 挑战 4. VoIP的应用5. 总结 VoIP&#xff08;基于IP的语音传输&#xff09; 1. 引言 VoIP&#xff0c;全称Voice over Internet Prot…...

编程笔记 Golang基础 027 结构体

编程笔记 Golang基础 027 结构体 一、结构体的定义二、结构体的实例化1. 直接初始化2. 使用键值对初始化&#xff08;即使字段顺序不一致也能正确赋值&#xff09;3. 部分初始化&#xff08;未指定的字段会得到它们类型的零值&#xff09;4. 使用var声明和初始化5. 结构体字面量…...

opencascade15解析导出为step格式

#include "DisplayScene.h" // 包含显示场景的头文件 #include "Viewer.h" // 包含查看器的头文件// OpenCascade 包含 #include <BRepPrimAPI_MakeCylinder.hxx> // 创建圆柱体 #include <BinXCAFDrivers.hxx> // 二进制XCAF驱动程序 #includ…...

【软件设计模式之模板方法模式】

文章目录 前言一、什么是模板方法模式&#xff1f;二、模板方法模式的结构1. 抽象类定义2. 具体实现 三、模板方法模式的应用场景1. 算法重用2. 操作中的固定步骤3. 扩展框架的功能4. 提供回调方法5. 遵循开闭原则 四、模板方法模式的优缺点1. 优点代码复用扩展性好符合开闭原则…...

Spring Boot项目怎么对System.setProperty(key, value)设置的属性进行读取加解密

一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置&#xff08;读取时自动解密&#xff09;&#xff0c;对Spring Boot项目的属性读取时进行加解密&#xff0c;但是没有说明对System.setProperty(key, value)设…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...