分类目录归档:学习

3D效果实现

补充前置知识:CSS transform 3D位移与旋转

rotateX(180deg) 上下旋转

rotateY(180deg) 左右旋转

rotateZ(180deg) 自己旋转

rotate3d(1,1,0,180deg) 自定义旋转

translateZ(30px) Z轴移动(前后)

完整的3D正方体

制作三角形


border 边框的边缘之间,效果是切割彼此一半

.smm-box { width: 100px; height: 100px; border: 10px solid transparent; border-top-color: red; border-left-color: aqua; border-bottom-color: blueviolet; border-right-color: aquamarine; }

当不没有内容的宽高的时候,效果如下

.smm-box2 { width: 0; height: 0; border: 60px solid transparent; border-top-color: red; border-left-color: aqua; border-bottom-color: blueviolet; border-right-color: aquamarine; }

将其他边框设置为透明色,得到一个三角形

.smm-box3 { width: 0; height: 0; border: 60px solid transparent; border-left-color: aqua; }

vertical-align 行内元素与文字对齐方式

该属性用来指定行内元素 (inline) 或表格单元格 (table-cell) 元素的垂直对齐方式

该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式

vertical-align 样式演示

  • baseline
  • sub
  • super
  • top
  • middle
  • bottom
  • 无名喵站
    继续阅读

    <mate> 视口标签

    视口的简介

    视口就是浏览器显示页面内容的屏幕区域

    • 下方作为一个定义完整视口标签属性的方式,适配用户设备宽度,并禁止用户缩放
    HTML
    <meta name="viewport" content="width=device-width, 
    initial-scale=1.0,maximun-scale=1.0,minimun-scale=1.0">

    标准的 viewport 设置

    • 视口宽度和设备保持一致
    • 视口默认缩放比例1.0
    • 不允许用户自行缩放
    • 最大允许的缩放比例1.0
    • 最小允许的缩放比例1.0
    继续阅读

    js class类

    与构造函数类似,但是规定了额外的效果,如继承、多态、封装

    传统的 JS 只有 对象 的概念,没有class类的概念,因为 JS 是基于原型的面向对象语言,原型对象特点就是将属性全部共享给新对象

    但 ES6 引入了 class 类这个概念,通过 class 关键字可以定义类,这就是更符合我们平时所理解的面向对象的语言

    class Person{ // 定义一个名为Person的类
    // 构造函数,用来接受参数
    constructor(x,y){
    this.x = x; // this代表的是实例对象
    this.y = y;
    }
    todoSome(){ // 这是个类的方法,不需要加function,有多个方法也不用逗号隔开
    alert(this.x + “的年龄是” +this.y+”岁”);
    }
    }

    继续阅读

    CSS transform 3D位移与旋转

    3D移动 在 2D移动 的基础上多加了一个可移动方向,即Z轴方向

    该内容为 基于2D旋转知识的 扩展

    • 3D位移 translate3d(x,y,z);
    • 3D旋转 rotate3d(xyz);
    • 透视 perspective
    • 3D呈现 transfrom-style
    向上转
    向左转
    自定义

    在2D平面产生近大远小视觉立体,但是只是效果二维的

    透视我们也称为视距,视距就是人的研究到屏幕的距离。越近物体越大;越远物体越小

    perspective 可设置透视 (译为视距)

    // 当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身
    // 注意:perspective 属性只影响 3D 转换元素;单位为 px ,越小表示视距位置越近

    perspective 的该CSS属性需附加给父级(单位为px),以便子元素3D转换时呈现透视效果(转换时远近效果)。

    因此:要想呈现较好的3D效果,首先父级得拥有透视 perspective 属性,
    另:若需要子元素拥有3维立体空间。需要给父级 添加 transform-style:preserve-3d

    继续阅读

    CSS 动画

    CSS可设置元素更多的动画效果

    步骤1 @keyframes 定义动画样式 和 名称

    // 顺序可用from {} to {} 或 百分比 0%{} 100%{}

    @keyframes move {
         /* 初始位置 */
          0% {
              transform: translateX(0px);
          }
          /* 基于初始位置向右移动500px */
          100% {
              transform: translateX(500px);
          }
      }

    步骤2 animation-name 引入动画样式

    /* 引入该动画:动画名称 */
    animation-name: move;

    步骤3 animation-duration 设置动画播放时间

     /* 持续时间 5s */
     animation-duration: 5s;
    继续阅读

    CSS transform 2D位移与旋转

    transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜

    定义2D转换中的移动,沿着 X 和 Y 轴移动元素;transform 的位移不会影响其他元素的位置

    // transform 中的 translate 百分比单位长宽 是对于自身元素单位长宽;
    // transform 对行内标签没有效果

    向上移
    向下移
    向左移
    向右移
    向右转
    向左转

    该CSS样式常搭配 :hover 与 transition 一起使用

    transform: none|transform-functions; //不进行转换 或 设置转换的方式函数

    继续阅读