Css3新特性应用之视觉效果实例


Posted in HTML / CSS onDecember 12, 2016

本文介绍了Css3新特性应用之视觉效果,具体有单侧阴影、不规则投影、染色体效果、毛玻璃效果、折角效果,具体实现如下:

一、单侧阴影

1、box-shadow属性的应用,格式:h-shadow v-shadow blur spread color inset属性取值介绍 h-sahdow:水平阴影的位置,允许负值

①v-shadow:垂直阴影的位置,允许负值

②blur:模糊距离

③spread:阴影的尺寸,扩张距离,可以为负数

④color:阴影的颜色

⑤inset/outset:内部或者外部阴影

2、阴影的扩张距离对四边都有效,不能单独应用于单边。

3、box-shadow支持多组值同时生效的设置

示例代码:

.wrap{
            width: 200px;
            height: 120px;
            background: yellowgreen;
            box-shadow: 2px 0px 4px -2px black,
                        -2px 0px 4px -2px black;
        }

Css3新特性应用之视觉效果实例

二 、不规则投影

1、利用border-radius生成的形状,用投影很好,但是如果加入了伪元素和半透明的装饰,阴影表现就很不好了,如下情况都会有问题。

① 半透明图像、背景图像、或者border-image

②元素设置了点状、虚线或半透明的边框,但没有背景(或者background-clip不是border-box时)

③元素内部有小角是用伪元素生成

④通过clip-path生成的形状

解决办法:利用svg的drop-shadow来实现

示例代码:

.wrap{
            width: 200px;
            height: 120px;
            border: 6px dotted yellowgreen;
            --box-shadow: 0px 0px 4px 0px black;
            -webkit-filter: drop-shadow(2px 0px 2px rgba(0,0,0,1))
        }

Css3新特性应用之视觉效果实例

三、染色体效果

1、基于滤镜实现,应用filter属性的相关值,调整图片的饱合度、亮度等值

2、基于min-blend-mode实现,作用:实现元素内容与背景以及下面的元素发生“混合”

3、基本background-blend-mode实现,作用:实现背景颜色与背景图片、背景图片与图片的混合

三种情况的示例代码:

.wrap1{
            width: 200px;
            height: 120px;
            overflow: hidden;
        }
        .wrap1 > img{
            max-height: 100%;
            max-width: 100%;
            -webkit-filter: sepia(1) saturate(4) hue-rotate(150deg);
        }

        .wrap2{
            width: 200px;
            height: 120px;
            background: hsl(335, 100%, 50%);
            overflow: hidden;
        }
        .wrap2 > img{
            height: 100%;
            width: 100%;
            mix-blend-mode: luminosity;
        }

        .wrap3{
            width: 200px;
            height: 120px;
            background-size: cover;
            background-color: hsl(335, 100%, 50%);
            background-image: url("../img/cat.png"); 
            background-blend-mode: luminosity;
        }

Css3新特性应用之视觉效果实例

四、毛玻璃效果

主要实现原理:内容伪元素背景与底层背景相同的图片;并加上filter:blur模糊滤镜即可。注意blur不能应用在底层背景,也不能应用在元素的背景上(这样会地元素本身应用blur模糊,会导致文本看不见),只能就用在伪元素上。

代码如下:

body{
    background: url("../img/cat.png") no-repeat;
    background-size: cover;
}
.wrap{
    position: relative;
    width: 500px;
    margin: 0px auto;
    padding: 10px;
    line-height: 1.5;
    background: hsla(0, 0%, 100%, .3);
    overflow: hidden;
}
.wrap::before{
    content: '';
    background: url("../img/cat.png") 0/cover fixed;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    filter: blur(20px);
    z-index: -1;
    margin: -30px;
}

Css3新特性应用之视觉效果实例

代码说明:1、body与wrap伪元素都应用相同的背景图片

2、wrap的background-attachment设置为fixed,让背景图不要跟随滚动一起动

3、wrap伪元素设置为绝对定位,且z-index层级只高于背景

4、利用blur设定wrap伪元素的模糊尺寸

5、用margin负值增加宽度,父元素用overflow:hidden隐藏溢出,让模糊背景更加真实。

五、折角效果

实现步骤

1、首先利用linear-gradient实现切角效果2、然后再利用linear-gradinet生成一个三角形,并设置他的位置与宽高

代码如下:

.wrap{
        background: linear-gradient(to left bottom, transparent 50%, rgba(0, 0, 0, .4) 0) no-repeat 100% 0/2em 2em,
        linear-gradient(-135deg, transparent 1.4em, #58a 0);
        width: 200px;
        height: 120px;
    }

Css3新特性应用之视觉效果实例

注意

1、100% 0/2em 2em在定位背景元素的位置与宽高,尤其是2em的宽与高都是背景元素正常的宽度。

2、而第二个linear-gradient中的1.4em是沿着渐变轴进行度量的,也就是渐变轴到元素顶边的距离,本例是渐变轴到右上边顶的距离

3、to left bottom是表示渐变从左下角开始

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
利用纯CSS3实现tab选项卡切换示例代码
Sep 21 HTML / CSS
Html5 localStorage入门教程
Apr 26 HTML / CSS
HTML5之多线程(Web Worker)
Jan 02 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
Aug 02 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
Sep 02 HTML / CSS
HTML5之消息通知的使用(Web Notification)
Oct 30 HTML / CSS
localStorage的过期时间设置的方法详解
Nov 26 HTML / CSS
HTML文本属性&颜色控制属性的实现
Dec 17 HTML / CSS
关于HTML5+ API plusready的兼容问题
Nov 20 HTML / CSS
css3应用示例:新增的选择器
Mar 16 HTML / CSS
css之clearfix的用法深入理解(必看篇)
May 21 HTML / CSS
使用CSS3 制作一个material-design 风格登录界面实例
Dec 12 #HTML / CSS
Css3新特性应用之形状总结
Dec 08 #HTML / CSS
CSS3 Notes: -webkit-box-reflect实现倒影的实例
Dec 08 #HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 #HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
Dec 03 #HTML / CSS
使用CSS3实现一个3D相册效果实例
Dec 03 #HTML / CSS
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
Nov 21 #HTML / CSS
You might like
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
python访问纯真IP数据库的代码
2011/05/19 Python
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
美国性感内衣店:Yandy
2018/06/12 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
学校介绍信范文
2014/01/14 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
毕业生自荐书
2014/02/03 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
质量承诺书范文
2014/03/27 职场文书
服务标语大全
2014/06/18 职场文书
励志演讲稿200字
2014/08/21 职场文书
2015年学校工作总结范文
2015/04/20 职场文书