前端知识的不足与补充

css中的grid布局

css 复制代码
  display: grid;
  grid-template-columns: 1fr 25px 25px 25px 25px 1fr;
  grid-template-rows: 50px 1fr 1fr 50px;
  /* 创造一个网格布局
  6 个纵列(column) --  
    前后两列两等分 (可用 fr 代表一份),
    中间 4 列均为 25px 宽度
  4 个横行(row) -- 
    上下均为 50px,中间两等分
  */

grid-area

css 复制代码
grid-area: 2/2/3/3

grid-area 是用于定义一个项目的位置及大小的属性,通常在使用 CSS Grid 布局时使用。

语法为:grid-area: row-start / column-start / row-end / column-end;

  • row-start: 定义项目开始的行位置。
  • column-start: 定义项目开始的列位置。
  • row-end: 定义项目结束的行位置。
  • column-end: 定义项目结束的列位置。

在你提供的例子中,grid-area: 2/2/3/3; 表示项目从网格布局的第 2 行、第 2 列开始,到第 3 行、第 3 列结束。这意味着这个项目占据了一个单元格,位于网格的第 2 行和第 2 列。

css 复制代码
   justify-self: end;
   align-self: end;

justify-self 和 align-self 是用于调整网格项目在网格容器中的位置的属性,它们通常与 CSS Grid 布局一起使用。

  • justify-self: 定义项目在水平方向上的对齐方式。justify-self: end; 表示项目会沿着水平方向的结束位置对齐。

  • align-self: 定义项目在垂直方向上的对齐方式。align-self: end; 表示项目会沿着垂直方向的结束位置对齐。

这两个属性允许你在网格容器中独立地为每个项目设置水平和垂直方向的对齐方式,而不影响其他项目。

css中的旋转

css 复制代码
/**
 * 创建一个文字水印的div
 * @param  {string} text - 水印文字
 * @param  {string} color - 水印颜色
 * @param  {number} deg - 水印旋转角度
 * @param  {number} opacity - 水印透明度
 * @param  {number} count - 水印数量
 */ 

 // TODO: 根据输入参数创建文字水印
  // TODO: 根据输入参数创建文字水印
  for(var i=0;i<count;i++){
    let ospan = document.createElement('span')
    ospan.innerHTML = text
    ospan.style.color = color
    ospan.style.opacity = opacity
    ospan.style.transform = `rotate(${deg}deg)`
    container.appendChild(ospan)
  }



ospan.style.transform = `rotate(${deg}deg)`
    container.appendChild(ospan)

代码涉及到 CSS 的 transform 属性和 JavaScript 模板字符串的使用。

  1. **ospan.style.transform = rotate({deg}deg)`;`:** 这行代码通过 JavaScript 设置了一个 CSS 的 `transform` 属性,用于旋转元素。`{deg} 是模板字符串的语法,它允许在字符串中嵌入变量。在这里,${deg}会被替换为传入的deg参数的值。整体来说,这行代码的作用是将创建的span` 元素进行旋转。

  2. container.appendChild(ospan);: 这行代码将创建的 span 元素添加到 container 元素中。appendChild 是 JavaScript 中操作 DOM(文档对象模型)的方法,用于将一个元素添加为另一个元素的子元素。

综合起来,这两行代码的作用是创建一个带有指定旋转角度的 span 元素,并将它添加到指定的容器元素中。

9.地球漫游中的动画

css 复制代码
    animation-name: orbit;
    animation-duration: 36.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  1. animation-name: orbit;: 指定动画的名称为 orbit。这表示要使用名为 orbit 的动画效果,该动画可能在其他地方通过 @keyframes 规则定义。

  2. animation-duration: 36.5s;: 设置动画的持续时间为 36.5 秒。这表示完成一次动画循环所需的时间。

  3. animation-timing-function: linear;: 指定动画的时间函数为线性(linear)。这表示动画的速度在整个过程中是均匀的,没有加速或减速效果。

  4. animation-iteration-count: infinite;: 设置动画的迭代次数为无限。这表示动画将一直循环播放,而不停止。

综合起来,这段 CSS 代码的作用是创建一个名为 orbit 的无限循环动画,每次循环耗时 36.5 秒,动画速度保持匀速。

相关推荐
Jmyd012316 分钟前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
FPGA小徐18 分钟前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
北京盛世宏博20 分钟前
工业环境监测选型:Modbus TCP以太网温湿度传感器部署、调试、避坑全指南
开发语言·网络·php
沫璃染墨33 分钟前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构
泡海椒1 小时前
JQuick-Excel 多字段 TRANSFORM:让当前行字段、JContext 与展示列各归其位
开发语言·python·excel
JPower_mr.g1 小时前
SmartCall 音色管理技术解析:基于 SPI 的可扩展音色注册架构
java·开发语言·人工智能·ai·架构·开源
源图客1 小时前
浏览器开发者工具使用
开发语言·php
刘天远1 小时前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
欣欣之王来了1 小时前
开发环境准备:Node.js、npm、VS Code安装配置
前端·学习·架构·项目·vue3教程
xiaolinudao1231 小时前
将多个 Excel 表格中的数据合并到单个表中|6 种实现方案全解析
java·前端·excel