首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【CSS3】CSS3 2D 转换 - rotate 旋转 ④ ( 旋转案例 )

左下角为中心点 , 顺时针旋转了 90 度 ; 如果 父容器 设置了 /* 隐藏边界之外的元素 旋转前的伪类 div::before 元素需要先隐藏...div::before 伪元素添加进去的 ; div::before 伪元素 是行内元素 无法设置大小 , 需要 将其设置为行内块元素 才能设置宽高 ; /* before 元素是行内元素...无法设置大小 将其设置为行内块元素 才能设置宽高 */ display: block; 为 实际内容 设置 旋转 相关的属性 : 旋转中心点 ,...默认的初始角度 , 旋转的动画持续时间 ; /* 设置以左下角为中心旋转 */ transform-origin: left bottom;...三、运行效果 ---- 初始状态为 : 鼠标移动到 盒子 模型上 , 旋转到 一半时的样式 : 旋转完成后的样式 :

33820

【CSS——效果实现】展开你的扇子(蓝桥杯真题-2449)【合集】

前 6 个 div 元素(id="item1"~id="item6")均为逆时针转动,其最小转动的角度为 10 deg,相邻元素间的角度差为 10 deg。...后 6 个 div 元素(id="item7"~id="item12")均为顺时针转动,其最小转动的角度为 10 deg,相邻元素间的角度差为 10 deg。...注意,元素 6(id="item6")和元素 7(id="item7"),各自反方向转动 10 deg,所以它们之间的角度差为 20 deg。...相邻元素间的旋转角度差为 10°。 后 6 个元素顺时针旋转:同样在鼠标悬停时,#box:hover div:nth - child(n)(n 从 7 到 12)选择器会选中后 6 个子元素。...相邻元素间的旋转角度差也是 10°,而元素 6 和元素 7 由于旋转方向相反,它们之间的角度差为 20°。

5410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我做了一个在线白板!!!

    ,即鼠标按下的位置到鼠标当前移动到的位置经过的角度,两个点本身并不存在啥角度,只有相对一个中心点会形成角度: 这个中心点其实就是矩形的中心点,上图夹角的计算可以根据这两个点与中心点组成的线段和水平x轴形成的角度之差进行计算...,我们要的是矩形以自身中心进行旋转,动图里明显不是,这其实是因为canvas画布的rotate方法是以画布原点为中心进行旋转的,所以绘制矩形时需要再移动一下画布原点,移动到自身的中心,然后再进行绘制,这样旋转就相当于以自身的中心进行旋转了...,我们不妨把鼠标指针的坐标以矩形中心为原点反向旋转矩形旋转的角度: 好了,问题又转化成了如何求一个坐标旋转指定角度后的坐标: 如上图所示,计算p1以O为中心逆时针旋转黑色角度后的p2坐标,首先根据p1...的坐标计算绿色角度的反正切值,然后加上已知的旋转角度得到红色的角度,无论怎么旋转,这个点距离中心的点的距离都是不变的,所以我们可以计算出p1到中心点O的距离,也就是P2到点O的距离,斜边的长度知道了,...3.新的中心点知道了,那么我们就可以把鼠标当前的坐标以新中心点反向旋转元素的角度,即可得到新矩形未旋转时的右下角坐标rp: 4.中心点坐标有了,右下角坐标也有了,那么计算新矩形的x、y、wdith、

    3.6K31

    你也许不知道的浏览器的一些滚动行为

    最常用的方法: // 获取元素的offsetTop(元素距离文档顶部的距离) let offsetTop = document.querySelector(".box").offsetTop; //...或者用锚点: 盒子出现在顶部 div id="box">div> 效果如下: 3....} 对比如下: 注意:要真机才能看到效果,这里指的局部滚动是指自己定义的盒子,然后设置overflow: auto || scroll;后的滚动行为; 7....滚动结束后,强制滚动到指定元素 基于上面的例子,我们设置如下属性: ul { scroll-snap-type: x mandatory; li { scroll-snap-align...: start; } } 效果如下: 仔细看会发现,我们松手的时候,会将最近的元素滚动到最右边(初始位置,对于Y轴来讲就是顶部,X轴则是右边) 也可以设置出现在中间: li { scroll-snap-align

    3.1K20

    H5C3第四节

    给子元素设置的样式 上述给容器设置的样式,都是用于对子元素进行排列的 下列的属性更多的是用于设置子元素自身的样式。 flex属性 flex属性与用于子元素分配主轴的空间。...--每一个class为section的div都是一屏,section这个类是固定的--> div class="section">我是内容1div> div class="section...">我是内容2div> div class="section">我是内容3div> div class="section">我是内容4div> div> //编写js..., 大于0向上滚, 小于0向下滚 if (e.wheelDelta > 0) { console.log("往上滚动"); } else { console.log...loopTop 滚动到顶部后是否连续滚动到底部,默认false loopBottom 滚动到底部后是否连续滚动到顶部,默认false continuousVertical 是否循环滚动,默认为false

    5.3K30

    让元素呈现出“七十二变”的效果,就是这么简单

    div>HTML5学堂-码匠div> div> 1、旋转rotate rotate(angle) :通过指定的角度参数对元素指定一个旋转,旋转之前需先有...它们具有相同的缩放中心点和基数,其中心点就是元素的中心位置,缩放基数为1,如果其值大于1,元素就放大,反之其值小于1,元素缩小。因其与平移类似,所以我们主要看下scale(x, y)的使用效果。...skew是用来对元素进行扭曲变形,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度,其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg。...transform-origin(x, y):用来设置元素的运动的基点(参照点),默认点是元素的中心点。...总结 在上面的实例中,我们的中心点都是元素的中点,大家可以尝试去改变菜单栏中的元素基点,看看可否达到不一样的效果。 本文关于CSS3中的二维变形就介绍完了。

    1.7K51

    什么C3转换还可以这样玩???用CSS3实现2D转换、3D转换、3D呈现,详细总结及案例演示。

    语法: transform: rotate(旋转度数); rotate里面写旋转的度数,单位是deg(度),例如rotate(90deg); 当旋转角度为正值时,旋转方向为顺时针旋转;当旋转角度为负值时...默认的旋转中心点时元素的中心点 如下代码的效果为:当鼠标悬停在图片上时,图片会顺时针旋转360°,为了更具有动画效果,添加了过渡效果。...2D转换的中心点(transform-origin) 语法: transform-origin: x y; 参数可以百分比、像素或者是方位名词 x y 默认转换的中心点是元素的中心点(50% 50%...如下代码是,当鼠标移动到div上的时候,给它设置3D移动。...透视我们也称为视距 :视距就是人的眼睛到屏幕的距离 透视的单位是像素 透视写在被观察元素的父盒子上面的 还是上面的例子,我现在给div的父元素加上透视,因为我body里面只有div,所以div的父元素就是

    83530

    点击按钮,回到页面顶部的5种写法

    元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度 由于scrollTop是可写的,可以利用scrollTop来实现回到顶部的功能...如果为true,表示元素的顶部与当前区域的可见部分的顶部对齐(前提是当前区域可滚动);如果为false,表示元素的底部与当前区域的可见部分的尾部对齐(前提是当前区域可滚动)。...如果没有提供该参数,默认为true,使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果...则用图片代替) 使用CSS伪元素及伪类hover效果,当鼠标移动到该元素上时,显示回到顶部的文字,移出时不显示   .box{ position:fixed; right:10px...id=“box” class=“box”> div class=“box-in”>div> div> 【2】动画增强 为回到顶部增加动画效果,滚动条以一定的速度回滚到顶部

    2.7K30

    【CSS】绝对定位元素设置 水平 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )

    盒子一半 宽度 / 高度 的偏移量 ; 以 水平居中为例 : 200 x 200 大小的盒子 , 通过设置 首先 , 设置 left 左边偏移为 50% , 让子元素的左侧 移动到 父容器水平中心位置...水平 / 垂直 居中 ---- 为 80x80 像素尺寸的元素设置 水平 / 垂直 居中 ; 设置水平居中 : 先设置子元素左侧移动到水平中心位置 left: 50%; , 再设置 margin-left...-40px; /* 内容尺寸 */ width: 80px; height: 80px; background-color: blue; } 设置垂直居中 : 先设置子元素顶部移动到父容器垂直中心位置...: absolute; /* 该盒子在父容器右下角 */ /* 顶部移动到垂直中心位置 */ top: 50%; /* 右边偏移 0 紧贴右侧 */ right: 0;...* 顶部移动到垂直中心位置 */ top: 50%; /* 右边偏移 0 紧贴右侧 */ right: 0; /* 垂直方向上 , 再向上走 40 像素 使得垂直居中 */

    3.2K40

    【CSS】鼠标移动到元素上方显示 移出盒子范围隐藏案例 ( 子绝父相 | 显示隐藏元素对象 | 鼠标经过样式设置 | 半透明遮罩设置 )

    一、鼠标移动到元素上方显示 / 移出盒子范围隐藏案例要点分析 ---- 1、子绝父相 这里要 在一个 div 盒子上方套一层遮罩 , 遮罩就需要 使用绝对定位将其覆盖到其它元素中 ; 子元素使用了 绝对定位...链接 时 , 显示 链接 中的 one 元素 , 需要使用如下选择器 进行设置 ; /* 鼠标经过时 one 作为遮罩 显示出来 */ .box a:hover .one { /* 设置显示元素...> /* 最外层的父容器元素 */ .box { /* 子绝父相 : 子元素需要使用绝对定位相互覆盖 父元素必须设置相对定位 */ position...鼠标移动到 a 链接后显示该元素 */ .one { /* 先设置隐藏元素 */ display: none; /* 设置相对定位 可以显示在父容器任意位置 */ position...: 鼠标移动到元素上方后的效果 :

    2.9K30

    我做了一个在线白板(二)

    ,计算文本的宽高,文本是可以换行的,所以整体的宽度为最长那行文字的宽度,宽度的计算通过创建一个div元素将文本塞进去,设置样式,然后使用getBoundingClientRect获取div的宽度,也就是文字的宽度...textCheckEl) { // 创建一个div元素 textCheckEl = document.createElement("div"); textCheckEl.style.position...根据矩形的中心点计算鼠标拖动的角的对角点坐标,比如我们拖动的是矩形的右下角,那么对角点就是左上角; 2.根据鼠标拖动到的实时位置结合对角点坐标,计算出新矩形的中心点坐标; 3.获取鼠标实时坐标经新的中心点反向旋转原始矩形的旋转角度后的坐标...图片 黑色的为原始矩形,绿色的为鼠标按住右下角实时拖动后的矩形,这个是没有保持原宽高比的,拖动到这个位置如果要保持宽高比应该为红色所示的矩形。...+ originRatio * newRect.height; y1 = newRect.y + newRect.height; } 红色矩形未旋转时的右下角坐标计算出来了,那么我们要把它以新中心点旋转原始矩形的角度

    1.5K31

    JavaScript时间轮盘:js元素圆形布局制作时间轮盘动画

    先看看上面这个效果图 解析: 1、圆心:O点、半径r; 2、圆心角:∠BOM; 3、需要布局的元素:A、B、C、D、E、F、G、H绝对定位的DIV元素; 4、DIV绝对定位时的元素的坐标点,可以用...对应的角度; var avd = 360/$(".box").length; //每一个BOX对应的弧度; var ahd = avd*Math.PI/180; //设置圆的中心点的位置...'transform': 'rotate(-'+ avd * index +'deg)' 这里注释,后续还会加上 }); }); // 这里减去box.width()/2就是为了中心点和元素刚好是正中心位置...是不是同样很奇怪了,元素同样需要旋转一个角度,而这个角度刚好是每一个BOX对应的角度。...从秒开始,每秒旋转一下每个轮盘对应每个元素的角度。

    3.5K30

    【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(五) -> Svg

    1 -> 基础知识 Svg组件主要作为svg画布的根节点使用,也可以在svg中嵌套使用。 说明 从API version 7开始支持。...viewBox的宽高和svg的宽高不一致,会以中心对齐进行缩放。...flex-start; height: 1200px; width: 600px; background-color: #F1F3F5; } 说明 M/m = moveto参数x和y表示需要移动到点的...large-arc-flag决定弧线是大于还是小于180度,0表示小角度弧,1表示大角度弧。sweep-flag表示弧线的方向,0表示从起点到终点沿逆时针画弧,1表示从起点到终点沿顺时针画弧。...4.1 -> 文本 说明 文本的展示内容需要写在元素标签text内,可嵌套tspan子元素标签分段。 只支持被父元素标签svg嵌套。 只支持默认字体sans-serif。

    5610

    JS事件篇

    和scrollTop获取水平和垂直滚动条滚动滚动距离 当满足scrollHeight - scrollTop == clientHeight时,表明垂直滚动条滚动到底了 阅读知情同意书的小案例 onmousemove...----火狐不支持,由DOMMouseScroll替代 判断滚轮上滚还是下滚----火狐不支持,由detail替代 取消滚动条随滚轮移动的默认行为 键盘事件 浏览器对象模型---navigator...---- a标签的索引问题 ---- JS修改元素的样式 语法: 元素.style.样式名=样式值 div{ background-color: aqua !...addEventListener("DOMMouseScroll",function(){ alert("鼠标滚轮"); },false) ---- 判断滚轮上滚还是下滚----火狐不支持,由...("d1"); //为div绑定一个鼠标滚轮事件 addEventListener("DOMMouseScroll",function(event){ //判断滚轮向上滚

    12.6K10

    让剁手党洞察物体细节,“放大镜”当之无愧

    2、涉及到的主要知识 offsetLeft: 获取当前对象与父元素的左距离 offsetTop: 获取当前对象与父元素的上距离 offsetWidth: 获取元素(含边框)的自身宽度 offsetHight...: 获取元素(含边框)自身高度 scrollLeft: 获取元素的左滚距离 scrollTop: 获取元素的上滚距离 event.clientX: 元素的X坐标 event.clientY: 元素的Y坐标...onmouseover: 当鼠标指针位于元素上方时,会发生mouseover事件 onmouseout: 当鼠标指针从元素上移开时,发生mouseout事件 onmousemove: 当鼠标指针在指定的元素中移动时...当鼠标移动到原图上时,通过对大图进行位置控制来显示对应的部位。 2....当鼠标移动到box上方时,move块将显示,同时在放大区中显示大图的对应位置,所以我们在这里需要使用mousemove事件监听,当我们鼠标移入box时,就需要获取当前鼠标的相对坐标位置。

    1.3K80

    【CSS3】CSS3 3D 转换示例 - 3D 导航栏示例 ( 列表设置 | 透视视图 | 过渡动画 | 3D 呈现样式 | 鼠标移动到控件上方效果 | 设置两个子盒子模型的效果 )

    属性 , 该属性的 属性值 表示 观察者眼睛 ( 视点 ) 到 3D 转换元素 ( 盒子标签模型 ) 的距离 , 单位是像素 ; body { /* 设置透视视图效果...*/ perspective: 500px; } 上述代码 告诉浏览器 , 观察者的眼睛 距离 投影平面 500 像素 , 在 这个距离会影响 3D 转换元素的视觉效果..., 即 子盒子模型 的 3D 效果 是 相对于它们自己的 3D 空间 , 而不是相对于父元素的平面 ; 鼠标移动到控件上方效果 :hover 是一个 伪类选择器 , 该选择器 表示 用户与页面进行交互的一种状态...transform: rotateX(90deg); } 默认状态下 , .box 类型的盒子 显示的是 .box 类型 的 样式 , 如果将 鼠标移动到 盒子模型上方时 , 会显示 ....X 轴是中心线 , 将正面盒子 沿着 Z 轴向 视点 移动 , 这样将整个 父盒子 进行 旋转时 , 旋转中心 恰好 是 中心位置 ; 第二个子容器 显示在底部 , 此时需要 绕 X 轴旋转 -90

    21110

    05_2D3D转换

    默认旋转的中心点是元素的中心点 用法: .rotate { width: 100px; height: 100px; background: #000fff; }...1.3.1 旋转中心点 rotate 旋转时,默认是以盒子的正中心为坐标原点的。 如果想改变 2D 转换的中心点,可以用 transform-origin 属性,可以设置元素转换的中心点。...水平坐标 垂直坐标; transform-origin: 50px 50px; transform-origin: center bottom; 注意后面的参数 x 和 y 用空格隔开 x y 默认转换的中心点是元素的中心点...class="heart">div> 1.4 倾斜 skew(了解) 设置元素的倾斜 语法: transform: skew(水平倾斜角度,垂直倾斜角度); transform: skew(45deg...这个其实很像我们现实中的例子一样,一张远处的图片,慢慢的移动到你脸上, 你会看见图片越来越大,贴到你脸上的时候,是不是你就看不见了?

    2700
    领券