一、边距重叠常见情况 1、垂直方向上相邻元素的重叠 (水平方向上不会发生重叠) ? 2、 垂直方向上父子元素间的重叠 ?...二、BFC 1、什么是 BFC BFC(Block Formatting Context),即块级格式化上下文,创建了 BFC 的元素是一个独立的容器,里面无论如何布局都不会影响到外面的元素 2、创建...table-cell... 3、BFC 的使用场景 (1)解决元素间的边距重叠问题 -- 分别添加创建了 BFC 的父元素 ?...-- 为非浮动的元素创建 BFC (常用于文字环绕图片的效果) ?...: 200px; height: 100px; background: rgba(123, 129, 202, 0.8); overflow: hidden; } (3)清除浮动,解决浮动元素的父元素高度塌陷问题
定义时的perspective属性,它是一个元素的子元素,透视图,而不是元素本身。 注意:perspective 属性只影响 3D 转换元素。...transform中的x、y、z、轴的含义如图所示: ?...,与boxshadow配合使用可以忽略层级问题,之后会说到*/ transform: rotateX(0deg) rotateY(0deg) ;//为盒子的3d效果和旋转效果做准备...} 加入图片,设置样式,使用position:absolute;使其重叠。以数组的形式获取,并根据其数组长度length来计算图片的旋转角度。...el.style.transform = "rotateY("+Deg*index+"deg)translateZ(350px)"; //沿z轴扩散350px
CSS技巧大杂烩 01 Safari 中z-index的层级问题 在Safari浏览器下(此Safari浏览器包括iOS的Safari,iPhone上的微信浏览器,以及Mac OS X系统的Safari...浏览器),当我们使用3D transform变换的时候,如果祖先元素没有overflow:hidden/scroll/auto等限制,则会直接忽略自身和其他元素的z-index层叠顺序设置,而直接使用真实世界的...出现了重叠的bug: ? 解决方法: 父级,任意父级,非body级别,设置overflow:hidden可恢复和其他浏览器一样的渲染。 以毒攻毒。...04 使用currentColor来简化css 设置border-color、background-color等颜色的时候,可以使用currentColor[与当前元素的字体颜色相同]来简化css。...alpha:1),其他部分为透明的(alpha:0),将它盖在背景图上,注意:背景图对应mask.png中透明的位置也会变成透明,留下非透明的形状,即背景图的可见形状与mask.png的可见形状相同,即为
(2).y:是一个0到1之间的数值,主要用来描述元素围绕Y轴旋转的矢量值。 (3).z:是一个0到1之间的数值,主要用来描述元素围绕Z轴旋转的矢量值。...定义视图被置于 X/Y/Z 轴的何处。...: rotateY(395deg); } } 复制代码 `` 哈哈,添加完后发现,这动画怎么有点纸片儿的意思啊,完全没有3D效果。...沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。...下面我们总结一下吧 小结 本小结知识: 1、CSS三角形的制作 2、transform: rotate3d(x, y, z, angle) 元素3D变换 3、transform-origin 元素3D位置
这里,其实有4个三角形,不过每个都重叠在一起了,用了绝对定位。...(2).y:是一个0到1之间的数值,主要用来描述元素围绕Y轴旋转的矢量值。 (3).z:是一个0到1之间的数值,主要用来描述元素围绕Z轴旋转的矢量值。...定义视图被置于 X/Y/Z 轴的何处。...沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。...下面我们总结一下吧 小结 本小结知识: 1、CSS三角形的制作 2、transform: rotate3d(x, y, z, angle) 元素3D变换 3、transform-origin 元素3D位置
如果单独设置Z轴移动,这样是完全看不出效果的。 ? 需要设置perspective(设置透视距离) 才能看出正方形有种缩放的效果,其实就是越远,图案看起来越小的效果。...其实可以一开始就将这个新的div翻转180度,并设置不可见,然后跟着图片翻转显示,最后绝对定位重叠一起,就可以实现啦。 说那么多,来实现一下。 编写图片背后的div ?...好,有了这个图片说明的div,先不设置背景隐藏,做一个翻转动画先。 编写图片说明div的翻转效果 ? 重叠两个div在中间 ?...好了,两个div重叠在一起了,那么将上面的图片说明设置背景为隐藏即可。 设置背景图文说明隐藏 ? 鼠标移动上去看看效果。 ? ? 好了,最后规范一下,设置父元素下的子元素以3D显示。...设置父元素下的子元素以3D显示 ? 完整代码如下: <!
: 1、使用 translateX(length) 、translateY(length) 、 translateZ(length) 来进行 3D 位移操作,与 2D 操作一样,对元素进行位移操作,也可以合并为...这里要特别提出的,3D 坐标轴,所谓的绕 X、Y、Z 轴的三个轴,这个不难,感觉空间想象困难的,照着 API 试试,绕每个轴都转一下就明白了: ? ...上面的图是示意有 6 个面,当然我们要把 6 个正方形 div 设置为绝对定位,重叠叠在一起,那么应该是这样的,只能看到一个面: ?...嗯,这个时候,6 个 div 面仍然是重叠在一起的。...CSS3 制作一个三角形 div),注意 4 个三角形应该是重叠在一起的,然后将其中三个分别沿着三条边的中心点旋转 70.5 度(正四面体临面夹角),就可以得到一个正四面体。
一、概述 3D转换就是让元素在x、y、z三条轴组成的三维空间中旋转或位移。...css中使用perspective属性来设置变形元素的景深,如果需要看到效果需要配合3d转换的相关属性才行 二、样例 我们来制作一个正方体 元素块重叠在一起了 接下来我们对class为item的div元素块进行一些空间的位移转换和旋转,我们再来看看效果 数值为1的div块,我们让他往屏幕前移动150像素,不旋转,设置值如下 transform...,当然还是有一些问题,比如3、4、5面的数值显示方向有误,主要是旋转方向的问题,我们调整一下 内容为3的元素设置如下 transform: translateZ(-150px) rotateY(-180deg...); 内容为4的元素设置如下 transform: translateX(-150px) rotateY(-90deg); 内容为5的元素设置如下 transform: translateY(150px
rotateZ(angle):沿Z轴旋转元素,即传统的二维旋转。 移动 translateZ(z):沿Z轴移动元素,增加或减少元素的深度位置,是创建3D空间感的关键。...透视效果(perspective) 理解透视 perspective属性定义了观察者与Z轴之间的距离,决定了3D元素的远近缩放程度,从而营造出深度感。...它可以被设置在父元素上,影响所有3D变换的子元素。 常见问题与避免策略 问题1:过度的透视失真 避免策略:合理设置perspective值,过高会导致元素变形严重,过低则难以感知3D效果。...通常,根据元素大小和页面布局调整透视距离。 问题2:元素遮挡顺序混乱 避免策略:利用z-index属性调整元素堆叠顺序,确保靠近观察者的元素位于上方。 3....深度理解与进阶技巧 层叠上下文与3D变换 在进行3D变换时,理解层叠上下文变得尤为重要。元素在Z轴上的位置变化会影响到其在页面上的堆叠顺序,合理利用这一点可以创造出丰富的视觉层次。
transform变化 transform的注意事项: 变形操作不会影响到其他元素。 变形操作只能添加给块元素,但是不能添加给内联元素。...() : 绕y轴顺时针旋转 translateZ() : 绕z轴顺时针旋转 scaleZ() : 立体元素的厚度 3d写法 scale3d() : 三个值 x y z translate3d(...CSS3伪元素 CSS 伪元素用于设置元素指定部分的样式。...例如,它可用于: 设置元素的首字母、首行的样式 在元素的内容之前或之后插入内容 请注意双冒号表示法 - ::first-line 对比 :first-line 在 CSS3 中,双冒号取代了伪元素的单冒号表示法...一开始针对低版本的浏览器构建页面,满足最基本的功能,再针对高级浏 览器进行效果,交互,追加各种功能以达到更好用户体验,换句话说,就是以最低要求,实现最基础功能为基本,向上兼容。
CSS3的3d变换 CSS3给我们提供了一个新的功能,那就是3d变换。3d变换和2d变换的基本API函数类似,只不过多了些在Z轴上的操作,不难使用。 ...但是,为了让元素拥有3d变换的功能,我们需要给他的父元素设置相应的变换属性。与其相关的属性为perspective和transform-style。...当值为数字时,意味着该元素与我们眼睛之间的距离为该值。该属性定义在需要3d变换的元素的父元素上,声明该属性意味着定义了一个3d空间,值越小,3d效果越明显。...其实可以有种方法更易理解,3d变换坐标系的Z轴我们可以类比为z-index定义的层叠上下文,而perspective取值就为眼睛与该层之间的距离。 ...d值为设置的perspective属性,z值为元素所在Z轴距离屏幕的长度,上图为z值为正值,下图的z值为负值。
有了前面2章内容,大家应该对CSS 3D的构建,都有了一定认知了,动手能力强的小伙伴可能已经开始自己做好看的效果了。...今天我们就来滚固一下前面学的知识,下面有一个"3D照片墙"示例来加深一下我们所学的知识。...用了绝对定位position: absolute6个子元素会重叠在一起了 我们先使其整个容易元素在3D空间呈现(transform-style: preserve-3d) 定宽定高元素水平垂直居中 {...每个元素添加阴影box-shadow(学习更多CSS阴影知识,请看前面几个章节) 子元素的位置 然后用transform,改变每个子元素的在空间上的位置。...所以,我们这里的空间相册,只需要每个元素沿着 Y 轴的 3D 旋转,间隔rotateY(60deg)即可形成一个圆环 动画 .photo { ...
沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。...其实对于perspective属性,我们可以简单的理解为视距,用来设置用户和元素3D空间Z平面之间的距离。...而其效应由他的值来决定,值越小,用户与3D空间Z平面距离越近,视觉效果更令人印象深刻;反之,值越大,用户与3D空间Z平面距离越远,视觉效果就很小。...在3D变形中,对于某些变形,例如下面的示例演示的沿Z轴的变形,perspective属性对于查看变形的效果来说必不可少。 1 的元素,该元素的正面面向观看者。当其Y轴旋转约180度时会导致元素的背面面对观众。
为了之后方便我们看到立体效果,现在我们旋转一下父元素,加入如下代码,效果如下 .cube-box{ transform: rotateX(-30deg) rotateY(45deg); } ?...5. .cube1作为第一个元素,我们不需要它旋转,它作为默认面,现在拼接第二个面.cube2,按照.cube1的写法,但是我们设置为绿色,效果如下,.cube2重叠在.cube1上,因此我们还需要旋转...根据后端数据动态设置父元素.cube-box的宽高,子元素全部自适应就行,这样才更好用。...10. .cube4就有点不一样了,下一个面不需要旋转,只需要把.cube1向Z轴方向移动30px宽的位置,X和Y轴可以用width和height作为基数设置百分比,比如width是20px,如果要X...轴移动20px,可以设置translateX(100%),但是Z就只能用具体值了。
位移与相对定位很相似,都不脱离文档流,不会影响到其它元素。 与相对定位的区别:相对定位的百分比值,参考的是其父元素;定位的百分比值,参考的是 其自身。...浏览器针对位移有优化,与定位相比,浏览器处理位移的效率更高。...rotateY() - 绕Y轴旋转 功能:围绕Y轴旋转元素。...语法: transform: rotateY(angle); 示例:transform: rotateY(45deg); 将元素绕Y轴旋转45度。...rotateZ() - 绕Z轴旋转 功能:围绕Z轴旋转元素(与2D变换中的rotate相同)。
- 3D 转换:元素还可以在 Z 轴上发生变化 ?...2D 缩放 - scale() 方法用于改变元素的尺寸 - 根据给定的宽度(X轴)和高度(Y轴) - scale(x) 或者 scale(x,y) - 一个参数时,第二个参数默认与第一个值相等...- 3D 位移可以改变元素在 Z轴位置 - 3D 位移主要包含 - translateZ(z) - translate3d(x,y,z) 3D 旋转 - 3D 旋转主要包含... - rotateX(deg) - rotateY(deg) - rotateZ(deg) - rotate3d(x,y,z,deg) ?...3D 缩放 - 3D 缩放主要包含 - scaleZ(z) - scale3d(x,y,z) 总结:本章内容主要介绍了 Css3之高级-5 Css转换(简介、2D转换、3D转换
即可以看到页面的一个 3D 层级关系,像是这样: 这个功能有几个不错的作用: 页面层级概览 快速厘清页面 z-index 层级之间的关系 用于排查一些重绘过程(滚动过程)页面卡顿 当然,也会存在一些问题...同时,虽然可以快速厘清页面 z-index 层级之间的关系,但是有的时候没法很好的快速看清整个页面嵌套关系。 同时,它只能看整个页面的概览,无法选取部分节点进行观察。...我们需要用到元素本身,和元素的两个伪元素,构建元素的立体效果。...,都添加了一个 transform: translateZ(16px),这一点非常重要,是为了给元素逐渐增加 Z 轴方向的深度 两个伪元素的运用需要好好理解,它们是用于构建整体的 3D 效果的关键因素...其次,如果父子两层 DIV 完全是大小一模一样完全重叠在一起,在视觉上也会有些影响。
在我们以前使用绝对定位的时候就已经初步接触过Z轴,那时候只是简单的层叠,现在介绍一个更强大的属性:Transform 。...3D Transform 中 rotate 有三种方法,rotateX(angle) X轴旋转,rotateY(angle) Y轴旋转,rotateZ(angle) Z轴旋转。...前面rotateZ已经让我们找到了Z轴,translateZ就可以用来处理Z轴的坐标。让元素在自己的眼前或近或远。他的值是要参考父元素的perspective值。...CSS3里默认perspective-origin是元素的中心。 当有了透视,有了变型之后,就该用到transform-style这个属性了,他有两个参数,flat与preserve-3d。...在反向播放周期中,与 animation-timing-function 关联的值也会反转。*/ 这些属性,看字面就能理解了,就不详细解释,用在例子里是最形象的。
中y轴向上是为负的,y轴向下为正,与下图相反 css3中的3D转换 3D位移 translate3d(xyz) 3D旋转 rotate3d(xyz) 透视:perspective 3d呈现transform-style...而z就是css中的translateZ也就是z轴物体离屏幕的距离,这个值越大看到的物体越大,值小看到的物体越小 了解上面的透视和translateZ之后我们就可以给我们的案例加上透视效果了 不过需要注意的是透视是写在被观察元素的父盒子上面的...其实不然,perspective指的是我们观察物体的距离 如果我们body有三个元素,并且在视距相同的情况下,此时元素大小是相同的,如果我们设置每个元素不同的translateZ,这样我们看到的每个元素就会不同...,但基于这个特性我们可以实现很多有趣的东西如3d相册就是利用了这一特性 3d旋转 指可以让元素在三维平面内沿着x轴,y轴,z轴或者自定义轴进行旋转 transform:rotateX() rotateY...() rotateZ rotaet3d(x,y,z,deg) 1.rotateX()使元素沿x轴旋转 <!
每张图片都通过transform: rotateY() translateZ();进行了3D变换,translateZ()确保图片在Z三、效果展示与优化通过以上步骤,我们已经实现了基本的3D环绕效果。...具体来说,.product-container 的样式定义可能包含以下几个关键点:尺寸与位置:通过设置宽度(width)、高度(height)、以及可能的 margin 和 padding 属性,可以定义容器的大小和它与周围元素的空间关系...3D效果设置:.product-container 通常被赋予一个 perspective 属性,用于创建3D效果的视角。这个属性定义了观察者与Z=0平面的距离,从而影响着3D转换的视觉效果。...子元素继承:作为容器,.product-container 的样式也会影响到其内部的子元素。一些样式属性,如字体样式、颜色等,可能会被子元素继承,除非在子元素中进行了重写。...除了上述基本的转换函数外,transform属性还支持更复杂的矩阵变换(matrix),允许开发人员通过定义一个2D或3D变换矩阵来实现更高级的转换效果。
领取专属 10元无门槛券
手把手带您无忧上云