当前位置: 首页 > news >正文

杭州网站推广找哪家wordpress 设置角色

杭州网站推广找哪家,wordpress 设置角色,怀柔做网站,wordpress需要多少内存虚线相信大家日常都用的比较多,常见的用法就是使用 border-style 控制不同的样式,比如设置如下边框代码: border-style: dotted dashed solid double;这将设置顶部的边框样式为点状,右边的边框样式为虚线,底部的边框样…

虚线相信大家日常都用的比较多,常见的用法就是使用 border-style 控制不同的样式,比如设置如下边框代码:

border-style: dotted dashed solid double;

这将设置顶部的边框样式为点状,右边的边框样式为虚线,底部的边框样式为实线,左边的边框样式为双线。如下图所示:

border-style 除了上面所支持的样式还有 groove ridge inset outset 3D相关的样式设置,关于 border-style 的相关使用本文并不过多介绍,有兴趣的可以看官方文档。本文主要介绍使用CSS渐变实现更自定义化的虚线边框,以满足需求中的特殊场景使用。如封面图所示的6种情况足以体现足够自定义的边框样式,接下来看实现方式。

功能分析

基于封面图分析实现这类虚线边框应该满足一下几个功能配置:

  • 虚线的点数量
  • 虚线的颜色,可以纯色,多个颜色,渐变色
  • 虚线的粗细程度
  • 虚线点之间的间隔宽度

由于我们是自定义的虚线边框,所以尽可能不增加额外的元素,所以虚线的内容使用伪元素实现,然后使用定位覆盖在元素内容的上方,那么你肯定有疑问了,既然是覆盖在元素的上方,那不上遮挡了元素本身吗?

来到本文自定义圆形虚线边框的关键部分,这里我们使用CSS mask 实现,并配合使用 -webkit-mask-composite: source-in 显示元素本身的内容。

-webkit-mask-composite: 属性指定了将应用于一个元素的多个蒙版图像合成显示。当一个元素存在多重 mask 时,我们就可以运用 -webkit-mask-composite 进行效果叠加。

代码实现

首先基于上面分析的几个功能配置进行变量定义,方便后续更改变量值即可调整边框样式。

--n:20;   /* 控制虚线数量 */
--d:8deg; /* 控制虚线之间的距离 */
--t:5px;  /* 控制虚线的粗细 */
--c:red;  /* 控制虚线的颜色 */

对应不同的元素传入不同的值:

<div class="box" style="--n:3;--t:8px;--d:10deg;--c:linear-gradient(45deg,red,blue)">3</div>
<div class="box" style="--n:6;--t:12px;--d:20deg;--c:green">6</div>

然后给伪元素设置基础的样式,定位,背景色,圆角等。

.box::after {content: "";position: absolute;border-radius: 50%;background: var(--c);
}

按不同的元素传入不同的背景色,最终的效果是这样的。

继续设置在mask中设置一个重复的锥形渐变 repeating-conic-gradient,代码如下:

repeating-conic-gradient(from calc(var(--d)/2),#000 0 calc(360deg/var(--n) - var(--d)),#0000 0 calc(360deg/var(--n))
)
  • from calc(var(--d)/2) 定义了渐变的起点,以虚线之间的距离除以2可以让最终有对称的效果

  • #000 0 calc(360deg/var(--n) - var(--d)):定义了第一个颜色为黑色(#000),起点位置为0,终止位置为360deg/var(--n) - var(--d)度,基于虚线之间的距离和虚线的个数计算出每段虚线的渐变终止位置

  • #0000 0 calc(360deg/var(--n)):定义了第二个颜色为透明色,起点位置为0,终止位置为基于虚线的个数计算,这样与上一个颜色的差即是 --d 的距离,也就是我们控制虚线之间的距离。

基于上述代码现在的界面是如下效果:

上面有提到 -webkit-mask-composite 是应用于一个元素的多个蒙版图像合成显示,所以我们这里需要在mask中再增加一个蒙板进行合成最终的效果。

增加以下代码到mask中:

linear-gradient(#0000 0 0) content-box

注意这里使用了content-box作为背景盒模型,这意味着背景颜色只会应用到元素的内容区域,这段代码将创建一个只在元素内容区域的水平线性渐变背景,且是完全透明的背景色。

为什么是内容区域,因为这里和padding有关联,我们将定义的控制虚线的粗细 --t:5px; 应用到了伪元素的 padding 中。

padding: var(--t);

这样刚刚新增的透明背景就只会应用到下图的蓝色内容区域,再结合 -webkit-mask-composite,即``只剩下 padding 部分的内容,也就是我们的自定义边框部分。

增加以下代码:

-webkit-mask-composite: source-in;

即是最终的效果,因为这里增加的mask背景是透明色,这里 -webkit-mask-composite 的属性不限制使用 source-in, 其他的好几个都是一样的效果,有兴趣的可以了解了解。

都已经到这一步了,是不是应该再增加一些效果呢,给这个圆形的边框增加动起来的效果看看,增加一个简单的旋转动画 animation: rotate 5s linear infinite;,这样看着是不是更有感觉,适用的场景就多了。

码上掘金在线预览:
https://code.juejin.cn/pen/7231427066804535352

最后

到此整体代码实现就结束了,看完是不是感觉挺简单的,基于伪元素设置锥形渐变 repeating-conic-gradient并配合-webkit-mask-composite实现自定义圆形虚线边框的效果。这里是设置了 border-radius:50%; 圆角最终呈现的是圆形,有兴趣的可以更改CSS代码试试其他的形状颜色间距等。

看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~

专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)

参考

https://codepen.io/t_afif/pen/KKvjjZN

http://www.yayakq.cn/news/252249/

相关文章:

  • 黄冈网站推广在线佛山市点精网络科技有限公司
  • 电子商务网站运营 需要确立创建论坛网站需要多少钱
  • 化妆品网站建设可行性报告坦克大战网站开发课程设计报告
  • 在线ui设计网站营销方案效果评估范文
  • 网站后台建设内容建设网站的申请信用卡分期付款
  • 南山商城网站建设哪家技术好wordpress新闻发布时间
  • 网站模版建设教程怎么样推广网站
  • 济南企业建站哪家做的好上海企业网站制作哪家专业
  • 网站首页怎样排版深圳专业网站建设平台网页
  • 广州 网站开发 公司电话WordPress搜索优化工具
  • 深圳建网站企业怎么样自己做企业网站
  • 重庆公司专业建站无锡公共建设中心网站
  • 新泰高品质网站建设网站设计青岛
  • 成都科技网站建设费用网站后期维护协议
  • 搭建网站需要的软件建设网站可选择的方案有
  • gta5网站建设中什么意思用vs2013做网站教程
  • 郑州网站外包公司百度指数批量查询
  • 不用实名的云服务器东营网站seo顾问
  • 石家庄房地产网站建设北京企业网站seo
  • 电商网站建设任务分解结构自己免费建设网站
  • 常宁市城乡和住房建设网站做网站流程
  • 网站建设竞争对手分析自助建站自己要做网站的来看下
  • 兰州建设网站的网站wordpress无法改成中文
  • 响应式网站建设网站wordpress新语言
  • 网站在线制作平台银行需要网站开发人员嘛
  • 青岛网站建设一青岛博采网络计算机网站建设文献综述
  • 成都建网站手机网站大全排行
  • 网站网站建设西街
  • 网站服务器中如何做重定向外包建站公司
  • 北京建设银行网站网页制作素材库哪个网站