当前位置: 首页 > Web前端 > CSS

FromBronzetoKing10CSS3伪类技巧和使用

时间:2023-03-30 16:42:59 CSS

伪类经常与伪元素混淆。伪元素的效果类似于添加一个实际元素所达到的效果,而伪类的效果类似于添加一个实际元素的效果。类来实现。事实上,为了区分两者,css3已经明确规定伪类用一个冒号表示,而伪元素用两个冒号表示。伪类和伪元素的本质区别在于新元素是否是抽象创建的。关于伪类和伪元素的具体知识本文不深入。下面给大家介绍一下从青铜到王者的10个css3伪类的技巧和应用。青铜-1。伪类实现框阴影众所周知,Animate/transitionbox-shadow可以使用box-shadow属性实现框阴影效果,但是repaint消耗较多,所以这里建议修改伪元素的透明度来实现boxshadows的原理:通过改变透明度,让非默认值更新它的值不需要任何重绘(ps:貌似莫名解锁了一个前端css优化,偷笑偷笑)这里是一个空伪-elementsetting阴影的透明度隐藏为0,鼠标悬停可以恢复其透明度。下面是传统和伪类实现的代码对比阴影效果,但是重绘比较消耗


After

修改pseudo的透明度可以达到同样的效果-元素,不重绘消耗

Web前端开发学习Q-q-u-n:784783012,分享开发工具,零基础,进阶视频教程,希望新手少走弯路。之前{填充:1em;背景色:#fff;-webkit-过渡:0.2s;transition:0.2s;}.before:hover{box-shadow:0010px0rgba(0,0,0,0.3);}.after{position:relative;填充:1em;背景色:#fff;}.after:before{content:"";位置:绝对;顶部:0;右:0;底部:0;左:0;z-指数:-1;框阴影:0010px0rgba(0,0,0,0.3);不透明度:0;will-change:不透明度;-webkit-过渡:0.2s;transition:0.2s;}.after:hover:before{opacity:1;}效果:Bronze-2,伪元素:在
  • 首页
  • 图片
  • 夏15
  • 意大利
  • ul.breadcrumb{padding:8px16px;列表样式:无;背景颜色:#eee;}ul.breadcrumbli{显示:内联;}ul.breadcrumbli+li:before{填充:8px;颜色:黑色;content:"/\00a0";}ul.breadcrumblia{color:green;}效果:Bronze-3,伪元素实现悬停时按钮填充和边界浮动动画效果:Bronze-4,伪元素实现的三角箭头classafter实现原理:三边设置边框,箭头所指方向的边框不需要设置。箭头两边的边框颜色是透明的(transparent),反面是主体边框颜色(大一点)/主背景颜色(小一点),因为我们想要一个带边框颜色的三角箭头,当第一个箭头(较大)被第二个箭头(较小)准确覆盖,剩下未覆盖的边缘为复合三角箭头的边框,其颜色为较浅的大三角箭头颜色,可调较小三角箭头的颜色应设置为主体颜色,负定位偏移时应遮盖主体框,以便与主体结合。
    .arrow-left:before{z-指数:9999;内容:””;显示:块;宽度:0;高度:0;border-top:20px实心透明;border-bottom:20px实心透明;border-right:20pxsolid#E9E9E9;位置:绝对;左:-20px;top:80px;}效果:Bronze-5,伪类实现的图片箭头效果after:Bronze-6,伪元素实现斜底边界(slantedboundary)原理:修改webkit-transform:skewY属性修改斜率(旋转也是如此).edge--bottom{position:relative;z-index:1;}.edge--bottom:after{背景:继承;内容:'';显示:块;高度:50%;左:0;位置:绝对;右:0;z-index:-1;}.edge--bottom:after{bottom:0;-webkit-transform:skewY(-1.5deg);-ms-transform:skewY(-1.5deg);变换:偏斜(-1.5deg);-webkit-transform-origin:100%;100%;transform-origin:100%;}Web前端开发学习Q-q-u-n:784783012,分享开发工具,零基础,进阶视频教程,希望新手少走弯路效果:King-1,伪元素和翻译(translate)变换实现提示框TOOLTIPTOPLoremipsumdolorsitamet.tooltip.tooltip-content::after{背景:#05a8ff;内容:””;高度:10px;位置:绝对;-webkit变换:旋转(45度);变换:旋转(45度);宽度:10px;}.tooltip.top.tooltip-content{底部:calc(100%+1.5em);左:50%;-转换:translateX(-50%);transform:translateX(-50%);}.tooltip.top.tooltip-content::after{底部:-5px;左:50%;margin-left:-5px;}效果:king-2,利用CSS3伪元素实现自动打字动画原理:TypingAnimationwithPseudo-Elements看似打字,实际上是用伪元素覆盖字符串,然后逐渐减少伪元素覆盖宽度达到视觉效果

    TypingAnimation

    webdesign

    .tagline-skill_inner:after{content:"";位置:绝对;顶部:-1px;右:0;底部:-2px;左:0;左边框:1px实心#fff;背景色:#2a2a28;-webkit-animation:animatetoright1ssteps(10)无限交替;animation:animatetoright1ssteps(10)infinitealternate;}Effect:king-3.CSS3伪元素构建的文章水印背景h1{position:relative;保证金:0;字体粗细:粗体;字母间距:-0.05rem;行高:1;文本转换:大写;z-index:10;}h1:before{内容:"2018/08";字体系列:等宽;字体大小:10rem;p定位:绝对;顶部:2rem;左:-2rem;z-索引:0;行高:1;color:rgba(50,25,0,0.1);}效果:王者-4、CSS3用伪元素做页面代码摘要a{display:-webkit-box;显示:-webkit-flex;显示:-ms-flexbox;显示:弹性;-webkit-flex-flow:rownowrap;-ms-flex-flow:rownowrap;弹性流:行现在换行;-webkit-box-align:基线;-webkit-align-items:基线;-ms-flex-align:基线;对齐项目:基线;文字修饰:无;-webkit-transition:color.2sease-in-out;过渡:颜色.2s缓入缓出;}a::before{高度:.1em;-webkit-box-flex:1;-webkit-flex:11自动;-ms-flex:11自动;弹性:11自动;-webkit-box-序号组:2;-webkit-顺序:1;-ms-flex-order:1;顺序:1;背景:左下角/包含repeat-xurl(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3IDIiPjxjaXJjbGUgZmlsbD0iI2ZmZiIgY3g9IjMuNSIg9IjEiIHI9IjEiLz48L3N2Zz4=);内容:'';}a::after{-webkit-box-ordinal-group:3;-webkit-顺序:2;-ms-flex-订单:2;顺序:2;内容:“p”。attr(data-page);}Web前端开发学习Q-Q-U-N:784783012,分享开发工具,零基础,进阶视频教程,希望新手少走弯路。不支持CSS3中的很多特性,比如伪元素nth-child,可以使用+号(代表相邻元素)来实现同样的功能2.谷歌的IE9.js是解决兼容性问题的JS库IE5.5到IE8的CSS3特性最后,CSS的世界很美好。每一个知识点都值得深入研究和实践。还有很多很土的特效可以给伪类和伪元素写,比如图片遮罩,图片背景模糊,更高级的鼠标穿越。事件特效等,以上10个案例是我个人的工作总结和参考得到的网上资源,希望对大家有所帮助