css的布局和定位、动画,js的学习

css的布局和定位

1.所有子元素默认的初始位置在左上顶点
2.通过left和top控制x和y轴距离

布局和定位

子元素绝对位置 父元素相对位置

父元素的定位方式为相对定位(position: relative)时,它会成为子元素绝对定位时的参考系。子元素的绝对定位是相对于父元素的位置进行偏移的,因此父元素的位置对于子元素的位置具有重要的影响。如果父元素没有设置相对定位,则子元素的绝对定位将相对于文档根元素进行偏移,这可能会导致位置偏移失误。因此,为了实现准确的元素定位,通常需要在父元素上设置相对定位。

如下css代码:

.fu{
       width: 300px;
       height: 300px;
       position: relative;
   }
   .z1,.z2,.z3,.z4,.z5,.z6{
       position: absolute;
   }

例如z1有如下属性

.z1{
                width: 300px;
                height: 300px;
                left: 200px;
                top: 200px;
                background-color: black;
                border-radius: 50%;
            }

其余z2到z6也有类似的属性,经过特定参数的设置和元素层级的摆放可以摆出黑桃A图案:

css动画

使用css动画时一般需要使用@keyframes定义关键帧动画,根据不同百分比的时间点设置元素的位置和属性,从而实现动画效果。

@keyframes move1{
      form{ 
      }to{ 
      }
}

这里的form代表起始位置,to代表结束位置,除了from{}to{}形式还可以使用0%{}-100%{},这样也表示从起点到终点,还可以在中间添加其他效果,如0%{}-30%{}-60%{}-80%{}-100%{}。

在下面例子中,定义了一个名为move1的关键帧动画,元素在动画过程中沿着一个矩形路径移动,从左上角出发,先往右移动到 500px,再向下移动到 500px,最后往左移动回到原点。

@keyframes move1{
            0%{
                top: 0;
                left: 0;
            }33%{
                top: 0px;
                left: 500px;
            }
            66%{
                top: 500px;
                left: 500px;
            }
            100%{
                top: 500px;
                left: 0px;
            }

要将某个元素应用上面的动画可以在其css样式代码中可以加入如下代码:

animation: move1 1s linear 0.1s 3 alternate forwards;

其中,move1是动画名称,1s是动画持续时间,linear代表动画速度为线性变化,0.1s为初始延迟,3为重复次数,alternate代表方向为交替,forwards代表动画结束后停在最终状态。
在这里插入图片描述
旋转太极图
先使用css将几个基本图形组合成太极图,再使用@keyframes定义动画关键帧,这里使用的是transform的rotate(),它可以将元素绕着中心点旋转,括号里代表旋转的角度。

@keyframes circles{
            from{
                transform: rotate(360deg)
            }to{
                transform: rotate(0deg);
            }
        }

代码中由360度到0度代表逆时针旋转。
在这里插入图片描述

JS的学习

在JavaScript中,

  • number类型的变量,在需要转换成boolean类型时,如果值为0,则转换成false,否则为true
  • string类型的变量,在需要转换成boolean类型 时,如果值为’'空字符串,则转换成false,否则为true
  • null和undefined都会转换成false。

js的数组可以存放各种类型的元素

let arr1=[1,2.3,'a',true,null,undefined];

dom

dom是指文档对象模型,它是一个编程接口,允许我们从文档中创建、更改或删除元素。我们还可以向这些元素添加事件,使我们的页面更加动态。
例如向按钮添加点击事件:

 <button onclick="changeText()">替换按钮</button>

其中onclick为点击事件属性,属性值为函数名,这里表示当按钮被点击时运行changeText()函数。

要对某个元素进行修改首先要获取它的id,可以使用document.getElementById(‘ul1’),这里获取的是id为ul1的元素,当按钮被点击时运行点击事件触发的函数,在此函数中使用了模板字符串来将指定数组中的内容嵌入标签中,最后将组合好的字符串设置于ul1元素。

// 1.获取ul
let ul1=document.getElementById('ul1')
function changeText(){
	// 2.替换
    let s=''
    arr.forEach((e)=>{
        s+=`<li>${e.id}-${e.name}-${e.age}</li>`
    })
    ul1.innerHTML=s
}

强盛集团案例

在此案例中应用了按钮的美化,表格的显示,核心是使用了dom来对表格的数据进行操作。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值