box-shadow技巧分享

box-shadow

 box-shadow在定义里是这么说的:"box-shadow 属性向框添加一个或多个阴影。"

是的,和他的名字一样,这个属性固然是用来制造阴影效果让页面更有立体感的。

语法:

box-shadow: h-shadow v-shadow blur spread color inset;

其中属性分别为:
h-shadow:必需。水平阴影的位置。允许负值。
v-shadow:必需。垂直阴影的位置。允许负值。
blur:可选。模糊距离。
spread:可选。阴影的尺寸。
color:可选。阴影的颜色。请参阅 CSS 颜色值。
inset:可选。将外部阴影 (outset) 改为内部阴影。

浏览器支持:
IE9 、Firefox 4、Chrome、Opera 以及 Safari 5.1.1 支持 box-shadow 属性。

我从慕课网上看到Amy老师讲的 css3"图片阴影"效果 一课里学到不少,其中就提到了曲线阴影和翘边阴影。
课程链接:http://www.imooc.com/learn/240


曲线阴影

 原理:

   给元素本身设置阴影,再利用befor以及after伪类创建元素,给伪类也设置同样的阴影,让三个阴影重叠就实现了炫酷的阴影效果。(●'◡'●)

代码:

  html:     

             <div class="wrap effect">
       <h1>shadow effect</h1>
      </div>

  css:

    .wrap{
      width: 70%;
      height: 200px;
      margin: 50px auto;
      background: #fff;
      }
    .wrap h1{
      font-size: 20px;
      text-align: center;
      line-height: 200px;
      }
    .effect{
      position: relative;
      box-shadow: 0px 1px 4px rgba(0,0,0,0.3),0px 0px 40px rgba(0,0,0,0.1) inset;
      -webkit-box-shadow:0px 1px 4px rgba(0,0,0,0.3),0px 0px 40px rgba(0,0,0,0.1) inset;
      -moz-box-shadow:0px 1px 4px rgba(0,0,0,0.3),0px 0px 40px rgba(0,0,0,0.1) inset;
      -o-box-shadow:0px 1px 4px rgba(0,0,0,0.3),0px 0px 40px rgba(0,0,0,0.1) inset;
      }
    .effect:after,.effect:before{
      content: '';
      position: absolute;
      background: #fff;
      top: 50%;
      bottom: 0px;
      left: 10px;
      right: 10px;
      box-shadow: 0px 0px 20px rgba(0,0,0,0.8);
      -webkit-box-shadow: 0px 0px 20px rgba(0,0,0,0.8);
      -o-box-shadow: 0px 0px 20px rgba(0,0,0,0.8);
      -moz-box-shadow: 0px 0px 20px rgba(0,0,0,0.8);
      border-radius:100px/10px ;
      z-index: -1;
      }

翘边阴影

 原理:

  与曲线阴影类似,利用两个伪类创造阴影效果,利用transform改变伪类形状成为平行四边形,分别一左一右的方向。

代码:

  html:   

      <ul class="box">
        <li><img src="img/2.png"/></li>
        <li><img src="img/3.png"/></li>
        <li><img src="img/4.png"/></li>
      </ul>

  css: 

    .box li{
      width: 240px;
      height: 240px;
      list-style: none;
      float: left;
      margin: 20px 10px;
      border: 2px solid #efefef;
      box-shadow: 0 1px 4px rgba(0,0,0,0.27);
      -webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.27);
      -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.27);
      -o-box-shadow: 0 1px 4px rgba(0,0,0,0.27);
      position: relative;
      background: #fff;
      }
    .box li>img{
      display: block;
      margin: 11px;
    }
    .box li:before{
      content: '';
      position: absolute;
      width: 90%;
      left: 20px;
      bottom: 10px;
      background: transparent;
      box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      -webkit-box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      -moz-box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      -o-box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      z-index: -1;
      transform: skew(-10deg) rotate(-7deg);
      -webkit-transform: skew(-10deg) rotate(-7deg);
      -o-transform: skew(-10deg) rotate(-7deg);
      -moz-transform: skew(-10deg) rotate(-7deg);
      -ms-transform: skew(-10deg) rotate(-7deg);
    }
    .box li:after{
      content: '';
      position: absolute;
      width: 90%;
      height: 80%;
      left: 20px;
      bottom: 10px;
      background: transparent;
      box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      -webkit-box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      -moz-box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      -o-box-shadow: 0 8px 10px rgba(0,0,0,0.6);
      z-index: -1;
      transform: skew(10deg) rotate(7deg);
      -webkit-transform: skew(10deg) rotate(7deg);
      -o-transform: skew(-10deg) rotate(7deg);
      -moz-transform: skew(10deg) rotate(7deg);
      -ms-transform: skew(10deg) rotate(7deg);
    }

大家可以把代码复制粘贴,自己查看一下元素研究一下具体详情,还有不懂的可以直接打开上面提到的课程自行学习。

 

福利:

喜欢偷懒的直接拿去复制粘贴吧,我经常用到的阴影代码

                    box-shadow:3px 2px 7px #DCDCDC, 2px 2px 5px #DCDCDC;
                    -webkit-box-shadow:3px 2px 7px #DCDCDC, 2px 2px 5px #DCDCDC;
                    -moz-box-shadow:3px 2px 7px #DCDCDC, 2px 2px 5px #DCDCDC;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

puppet enc mysql_精通Puppet配置管理工具

目  录第1章 开始使用Puppet11.1 什么是Puppet11.1.1 部署21.1.2 配置语言和资源抽象层31.1.3 事务层51.2 选择正确的Puppet版本51.3 我能混用Puppet的版本吗61.4 安装Puppet71.4.1 在Red Hat企业版Linux和Fedora上面安装Puppet71.4.2 在Debian和Ubuntu上安装Puppe…

Web测试实践——每日例会记录12.31(1)

姓名 主要负责部分 完成情况 储志峰 刘伟清 阶段一&#xff0c;软件评测。对华科软院和计院的网站展开对比分析&#xff0c;主要体现在功能、界面等方面。描述网站的缺陷。 √ 吕尚维 阶段二&#xff0c;用户调研。对使用华科软院网站的某个用户展开调研&#xff0c;采访…

Spring JPA数据+休眠+ MySQL + Maven

在Spring MVC的帮助下开发Web应用程序意味着要创建几个逻辑架构层。 层之一是DAO&#xff08;存储库&#xff09;层。 它负责与数据库进行通信。 如果您至少开发了DAO层一次&#xff0c;则应该知道它涉及许多样板代码。 Spring Data本身就是与DAO相关的日常工作的一部分。 在帖…

关于DJANGO MODELS的个人理解和RELATED_NAME的使用

转自&#xff1a;http://www.cnblogs.com/blogofwyl/p/4283513.html作为一个新人(刚刚大学还没有毕业就出来实习&#xff0c;可以说是真的什么都不知到&#xff0c;什么都要重新学&#xff0c;但是这样真的可以锻炼自己的意志力和能力)。现在在公司是前端和后端一起坐&#xff…

HTML的入门概念

超文本<a> 文本或图像都可以用作链接的标签。使用“..”可以连接到源文件的上层文件夹。“..”表示“父文件夹”。 <a href"目标网址#锚点" name"页面锚点名称" title"鼠标滑过显示的文本">链接显示的文本</a> <a href&…

PDF之pdfkit

说起pdf就想到了一款很适用的工具&#xff0c;那就是pdfkit&#xff0c;在前几天的项目中&#xff0c;有一个功能要实现&#xff0c;为了实现这一个功能&#xff0c;于是我大海茫茫中查询各种百科&#xff0c;不负众望的让我找到了我心怡的工具&#xff0c;想必也就是它了。好了…

015迭代器

注意迭代器和可迭代对象不同#迭代器&#xff1a;1、有iter方法&#xff0c;2、有next方法li[1,2,3,4,5]diter(li) # 等于li.__iter__()print(d) # <list_iteratorobjectat0x00000174316CC3C8>可以通过next方法取出元素。for循环就是这样的。for循环内部做的三件事1、调用…

CSS属性之attr()

attr()准确的说&#xff0c;不应该是一个属性&#xff0c;而是一个CSS的函数&#xff0c;我们先看看MDN上的介绍吧&#xff1a; Summary The attr() CSS function is used to retrieve the value of an attribute of the selected element and use it in the style sheet. It c…

番石榴15 –新功能

本月初发布了新版本的Guava库&#xff0c;其中包含一些新功能和改进。 以下是此版本中一些重要的API新增功能的概述&#xff1a; 1.逃脱者 Escapers使您可以“转义”字符串中的特殊字符&#xff0c;以使字符串符合特定格式。 例如&#xff0c;在XML中&#xff0c;必须将<字…

MySQL大小写敏感的解决方案

前言&#xff1a;对于MySQL的大小写敏感的影响&#xff0c;笔者在一个小项目中深刻的体会到&#xff1a;当想要查询一条数据时&#xff0c;总是出来两条或多条&#xff0c;后来发现是大小写敏感造成的原因&#xff0c;本文就该问题提出解决方案。 1.MySQL大小写敏感的控制 mysq…

java主类型_Java主类结构:基本数据类型

Java语言是面向对象设计的语言&#xff0c;java车光绪的基本组成单元是类&#xff0c;类体中有包括属性与方法两部分。每一个应用程序都需要main()方法&#xff0c;含有main()方法的类成为主类建立一个java首先要建立包package Number;//建立的package包名为numberpuublic clas…

day3-文件操作之打开模式

r 只能读 r 可读可写&#xff0c;不会创建不存在的文件。如果直接写文件&#xff0c;则从顶部开始写&#xff0c;覆盖之前此位置的内容&#xff0c;如果先读后写&#xff0c;则会在文件最后追加内容。 w 只能写 覆盖整个文件 不存在则创建 w 可读可写 如果文件存在 则覆…

利用border制作三角形原理

网站前端页面中&#xff0c;有时候会使用一些三角形&#xff0c;除了使用图片的方式之外&#xff0c;利用css的border属性也可以做出相对应的三角形。那么&#xff0c;利用border是如何实现三角形的制作的呢&#xff1f; 先看下面一个例子&#xff1a; CSS代码&#xff1a; w…

Java开发中的常见危险信号

在开发&#xff0c;阅读&#xff0c;复审和维护成千上万行Java代码的几年中&#xff0c;我已经习惯于看到Java代码中的某些“ 危险信号 ”&#xff0c;这些信号通常&#xff08;但可能并非总是&#xff09;暗示着代码问题。 我不是在谈论总是错误的做法&#xff0c;而是在有限的…

js判断对象数组中是否存在某个对象

1. 如果要判断数组中是否存在某个元素的话很好判断&#xff0c;直接用数组的indexOf方法就好&#xff0c;存在返回当前索引不存在返回-1 var arr[1,2,3,4] arr.indexOf(3) // 2 arr.indexOf(5) // -1 2. 要只是判断的话是可以遍历后判断对象的属性是否相同的&#xff0c;像这种…

java weblogic 配置_java----weblogic部署应用

安装略创建域在部署过程中&#xff0c;不能用回退按钮&#xff0c;如果输入有误的话只能在该步设置完后重复进行设置。Linux命令和文件(夹)名是区分大小写的。1、进入weblogic的bin目录&#xff1a;#以具体安装目录为准cd /weblogic/Oracle/Middleware/Oracle_Home/wlserver/co…

sass 基础——回顾

1.webstorm 自动编译SASS  下载安装包 http://rubyinstaller.org/downloads/  然后点击安装&#xff0c;路径为默认路径就行&#xff0c; 勾选以下两项    add Ruby executables to your PATH    Associate .rb and rbw files with this Ruby information  安装完…

这么多年第一次自己去用游标和临时表

汗颜&#xff0c;做了这么多年开发自己第一次用游标和临时表 还是借助度娘才写出来的&#xff0c;请大家给指点下。。。 1 CREATE PROCEDURE [dbo].[sp_LaodDefaultFM]2 (3 ExhID int ,4 DefaultExhID INT,5 Result INT6 )7 AS 8 BEGIN 9 --判断当前会话中临时表是…

设置MongoDB副本集分为4个步骤

介绍 在详细介绍配置MongoDB副本集之前&#xff0c;让我简要介绍一下它们&#xff1a; 副本集是Mongodb数据库提供的功能&#xff0c;可实现高可用性和自动故障转移。 它是一种传统的主从配置&#xff0c;但具有自动故障转移功能。 基本上&#xff0c;它是mongod实例的组/集…

PHP ajax跨域问题最佳解决方案

一、本文通过设置Access-Control-Allow-Origin来实现跨域。 例如&#xff1a;客户端的域名是client.runoob.com&#xff0c;而请求的域名是server.runoob.com。 如果直接使用ajax访问&#xff0c;会有以下错误&#xff1a; XMLHttpRequest cannot load http://server.runoob.co…