返回顶部
首页 > 资讯 > 前端开发 > JavaScript >CSS怎么实现层叠上下文、单侧投影和半透明边框效果
  • 265
分享到

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

2024-04-02 19:04:59 265人浏览 独家记忆
摘要

这篇文章主要介绍了CSS怎么实现层叠上下文、单侧投影和半透明边框效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS怎么实现层叠上下文、单侧投影和半透明边框效果文章都会有所

这篇文章主要介绍了CSS怎么实现层叠上下文、单侧投影和半透明边框效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS怎么实现层叠上下文、单侧投影和半透明边框效果文章都会有所收获,下面我们一起来看看吧。

层叠上下文

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

边框内圆角

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

clip-path

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

自适应的椭圆

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

自适应宽度

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

投影模拟多重边框

第二个参数使阴影整体下移 5px ,第三个参数使阴影四周多了 4px 的高斯模糊(注意由于整体下移了 5px,所以此时上方还是没有阴影露出的),第四个参数又把阴影整体缩小了 4px,,所以左右两边才没有出现模糊半径导致的高斯模糊阴影色,从而实现单侧投影。

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

单侧投影

还可以逗号分隔设置多个阴影色,比如下面的两侧投影效果:地址

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

单侧投影

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

不规则投影

前端开发大都了解糊滤的高斯模镜效果是filter: blur()实现的,但是却很少使用滤镜的其他几个调色效果。filter 的值有blur()、drop-shadow()、url()、brightness()、contrast()、grayscale()、hue-rotate()、invert()、opacity()、saturate()、sepia()~~可以使用复合形式如:filter: sepia(1) saturate(4)等。下面是filter属性值大集合:地址

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

滤镜的染色和褪色效果

饼图的 css 实现方案非常奇怪,所以我忽略之。推荐使用 svg 的实现方案,非常简单,先来个基本教学吧~

先画个圆:

这里 r="25" 是半径25, cx cy 分别表示圆心的 x y 坐标。

这里给圆形定义了一个宽度 40 的描边:

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

饼图 svg

再把描边设为线段长度 20 间隔 10 的虚线:

当把虚线的间隔设定为大于等于圆周时,虚线的线段长度就是一个扇形区域(当线段长度等于圆周时扇区达到100%):

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

给 svg 设置圆角和背景色,并旋转 -90deg ,就可以实现一个饼图:地址(使用currentColor关键字和color: inherit 是为了实现DRY原则。)

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

但是这样的饼图其扇区大小是不易计算的,为了方便计算,可以让虚线的线段长度同时也是圆周无限接近100,这样就可以更方便的设置扇区的百分比。圆周是 2πr ,所以 100 = 2πr ,计算得出半径 r 近似值 16。再利用 svg 的 viewBox 属性,实现自适应容器大小的饼图:地址

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

这种方法有个弊端,就是当设置 stroke-dasharray: 100 100 时会有一条缝,这是取近似值无法避免的。

background 是我们最常用的属性之一,但作为一个老前端,我也只能羞耻的说我目前并没有完全掌握这个属性。

background 是一个简写属性,可以包括多个属性:background-clip、background-color、background-image、background-origin、background-position、background-repeat、background-size、background-attachment。接下来我们一个个来看看这些属性的作用:

简写时 background-size 只能紧接着 background-position 出现,以 / 分割,如: "center / 80%"。

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

半透明边框

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

背景定位

background-position 设为百分比值较为复杂。百分比值实际上执行了以下的计算公式:

由计算公式可知:当值为0%时,实际偏移值为0px,此时图片的左边界(或上边界)和容器的左边界(或上边界)重合;当值为50%时,实际偏移值为容器减图片剩余空间的一半,图片左右边界(或上下边界)距离容器左右边界(或上下边界)相等,此时图片的中点和容器的中点重合。当值100%时,实际偏移值为容器减图片的剩余空间,所以此时图片的右边界(或下边界)和容器的右边界(或下边界)重合。二者之差为负值时同样有效。地址

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

背景定位

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

条纹背景

也可以设置为垂直条纹背景:

还可以设置为斜向条纹:

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

垂直条纹背景

斜向条纹需要设置四条条纹才能在平铺到时候做到无缝拼接。

更好的斜向条纹:(这里必须设置起始值#fb3 0)

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

更好的斜向条纹

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

网格

更好的网格:

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

更好的网格

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

棋盘

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

折角

到这里 background 属性基本讲完了,光看无用,多动手实践吧。

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

波点

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

切角

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

饼图

animation 属性是 animation-name、animation-duration、 animation-timing-function、animation-delay、animation-iteration-count、animation-direction、animation-fill-mode、animation-play-state属性的一个简写属性形式。

如何给动画加上回弹效果呢?这里介绍一种最便利的方法:

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

回弹效果

上图图横轴为时间,纵轴为动画进度。图中贝塞尔曲线有两个控制手柄,x1, y1 控制第一个锚点,x2, y2控制第二个锚点。其中 x1 、x2 不能大于/小于 1,但是y1, y2 可以。当 y2 大于 1 时,就会产生提前到达终点,然后超过终点,然后再返回终点的效果,像回弹一样。地址

transition 属性是 transition-property、transition-duration、transition-timing-function、transition-delay的一个简写属性。使用 transition 同样可以实现回弹效果:地址

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

CSS怎么实现层叠上下文、单侧投影和半透明边框效果

关于“CSS怎么实现层叠上下文、单侧投影和半透明边框效果”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“CSS怎么实现层叠上下文、单侧投影和半透明边框效果”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网JavaScript频道。

--结束END--

本文标题: CSS怎么实现层叠上下文、单侧投影和半透明边框效果

本文链接: https://lsjlt.com/news/92424.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CSS怎么实现层叠上下文、单侧投影和半透明边框效果
    这篇文章主要介绍了CSS怎么实现层叠上下文、单侧投影和半透明边框效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS怎么实现层叠上下文、单侧投影和半透明边框效果文章都会有所...
    99+
    2024-04-02
  • css怎么实现边框透明效果
    本篇内容主要讲解“css怎么实现边框透明效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css怎么实现边框透明效果”吧!首先,在页面中创建一个div标签,并设置class属性; &l...
    99+
    2023-07-04
  • css怎么实现背景半透明文字不透明的效果
    这篇文章给大家分享的是有关css怎么实现背景半透明文字不透明的效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果如下:<!DOCTYPE html><html> &...
    99+
    2023-06-08
  • 怎么利用CSS实现文字二次加粗和多重边框效果
    这篇“怎么利用CSS实现文字二次加粗和多重边框效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • CSS怎么实现带阴影和小箭头的黑色风格下拉菜单效果
    这篇文章主要讲解了“CSS怎么实现带阴影和小箭头的黑色风格下拉菜单效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么实现带阴影和小箭头的黑色风格下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作