offset数值如何计算?

lxf2023-12-13 21:20:02

头像是大家在网络沟通的第一印象,传统头像图片表明,只是便是一张图片摆在那,较为枯燥,假如头像图片能添加一些奇特的动画,我们不难发现头像图片就好玩儿起来。 也可以把头像图片制成头像图片从头框伸出来时的那种实际效果,这时候头像图片有一种3D效果,人们下面看一下这类头像图片的视觉效果。

offset数值如何计算?

这个头像动画特效完成下去肯定并不容易,我们来看一下怎样去完成它。 最先看到这样的动态图效果要实现的第一构思要先写一个div,再之后里边放一个照片,随后吧这一div文字图片都设成一个圆,当鼠标移入div时让图片变大,然后我们就会发现照片变为这个样

offset数值如何计算?

我们不难发现跟我们要实现效果完全不一样,那咋弄,大家下面尝试着完成前面的头像图片实际效果。 首先我们要放一张图片 <img src="https://assets.codepen.io/1480814/av 1.png" alt="a random avatar picture" > 随后设定图片的尺寸和色彩,而且加一个外边框,为了更好地看清

offset数值如何计算? 如今我们的样子是这样子

offset数值如何计算?

如今我们要把它变为圆圆的,主题是用径向渐变去完成的,我们首先创建一个径向渐变,我们首先为他蔓延一个红色的具体内容,然后蔓延一个红色的外框。大家建立径向渐变的时候一定要用最少边为半经来限定圆圆的范畴,应用 circle closest-side,创建一个径向渐变代码如下所示:

offset数值如何计算?

下一步要在鼠标移入时调节渐变色尺寸,伴随着图像变大,我们不难发现圆也随之增大,我们应该确保背景大小始终是不会改变。我们怎样来解决呢? 首先我们要把图片变大二倍,则意味着我们把背景缩减到原的1/2 no-repeat center / calc(100% / 放大倍率) 我们首先界定一个CSS自变量--f,并使用这些来调整圆圆的尺寸。

offset数值如何计算?

当 --f 相当于 1 的时候是我们最初的占比。与此同时,当鼠标移入时更改这一自变量

offset数值如何计算?

offset数值如何计算?

克服了鼠标移入时调节渐变色大小的小问题时,如今我们发觉图片信息是遮盖背景,便是现阶段这样

offset数值如何计算?

大家下一步我们应该使它变为这个样,我们怎样来达到呢?

offset数值如何计算?

我们可以用outline和border-radius来达到。 outline: var(--b) solid var(--c); border-radius: 0 0 999px 999px 假如外边框与内容有一些空隙得话,我们可以用outline-offsst来处理,这一表明轮廊和border间的距离,这一越多表明越来越远,也可以把它设成负值. outline-offset: -5px; 如今我们应该处理图片变大时外边框保持一致,其实就是图片变大二倍,外边框也随之变大二倍,我们应该按照这个内容了动态变化调节offset数值。我们应该测算offset数值如何计算呢? 首先就是要让变大之后宽度减掉变大以前宽度然后除以2。可是这当中有一个坑便是,如果我们宽为200时,大家offset不得超过的-100,现在已经到定位点了。假如放大倍率太大的时候会远高于offset能设定数值。因此我们计算公式应当是(s*f-s)/2/f其实就是(s-s/f)/2,随后我们想要的负值的,可以再变一下(s/f-s)/2. 如今我们应该把圆之外的方框掩藏掉,我们可以用mask,这一能使仅有图片覆盖的地区才能表明,别的地方也不会表明。 -webkit-mask: linear-gradient(#000 0 0) no-repeat 50% calc(1px var(--borderWidth)) / calc(100% - 2 * var(--borderWidth) - 2px) 50%,radial-gradient(circle closest-side,#000 99%, #0000) center / 100% 100% no-repeat content-box; 也可以把有反复代码开展抽身,搞成自变量。详细代码如下所示:

offset数值如何计算?

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!