CSS3属性box-shadow使用教程

CSS3的box-shadow属性可以让我们轻松实现图层阴影效果。我们来实战详解一下这个属性。

1. box-shadow属性的浏览器兼容性

先来看一个这个属性的浏览器兼容性:

  • Opera: 不知道是从哪个版本开始支持的,我在发这篇文章测试的时候,正好更新了Opera到最新的10.53版本,已经支持box-shadow属性。
  • Firefox通过私有属性-moz-box-shadow支持。
  • Safari和Chrome通过私有属性-webkit-box-shadow支持。
  • 所有IE不支持(不知道IE9是否有所改善)。别急,我们将在文章最后会介绍一些针对IE的Hack。

2. box-shadow属性的语法

box-shadow有六个可设值:

img{box-shadow:阴影类型 X轴位移 Y轴位移 阴影大小 阴影扩展 阴影颜色 }

  • 当不设阴影类型时,默认为投影效果。当设为inset时,为内阴影效果。
  • X轴和Y轴位移不等同但类似于Photoshop里面的”角度”和”位置。
  • 阴影大小、扩展、颜色和Photoshop里面的都同理。

3. 实例解析

让我们通过几个实例来看一个box-shadow的效果,先弄个简单的HTML供测试:

<html>
<head>
<style type="text/css">CSS部份写在这里</style>
</head>
<body>
<img  src="test.jpg" />
</body>
</html>

请注意:为了省事儿,下面的CSS代码中只写了box-shadow,在实际使用中,你应该把-moz-box-shadow和-webkit-shadow也写上。你需要做的很简,复制两个box-shadow,在它们前面分别加上-moz-和-webkit-。


img {
-moz-box-shadow:2px 2px 10px #06C;
-webkit-box-shadow:2px 2px 10px #06C;
box-shadow:2px 2px 10px #06C;
}

(1). 投影,没有位移,10px的阴影大小,没有扩展,颜色#06C

 img{box-shadow:0 0 10px #06C;}

css3 box shadow 1 CSS3属性box shadow使用教程

这里的颜色值是HEX值,我们还可以使用RGBA值,RGBA值的好处是,它多了一个Alpha透明值,你可以控制阴影的透明度。

img{box-shadow: 0 0 10px rgba(0, 255, 0, .5)}

(2). 在上面的基础上加上20px的扩展

 img{box-shadow:0 0 10px 20px #06C;}

css3 box shadow 2 CSS3属性box shadow使用教程

(3).  内阴影,无位移,10px大小,没有扩展,颜色#06C

 img{box-shadow:inset 0 0 10px #06C;}

css3 box shadow 3 CSS3属性box shadow使用教程

(4).  多重阴影效果

box-shadow可以同时使用多次,我们来个四色的阴影。


img{box-shadow:-10px 0 10px red, box-shadow:10px 0 10px blue,box-shadow:0 -10px 10px yellow,box-shadow:0 10px 10px green}

css3 box shadow 4 CSS3属性box shadow使用教程

(5). 使用多个阴影属性的顺序问题

当给同一个元素使用多个阴影属性时,需要注意它的顺序,最先写的阴影将显示在最顶层。比如下面这段代码,我们先写一个10px的绿色阴影,再写一个10px大小但扩展20px的阴影。结果是:绿色阴影层在黄色阴影层之上。

img{box-shadow:0 0 10px green;box-shadow:0 0 10px 20px yellow}

css3 box shadow 5 CSS3属性box shadow使用教程

但如果我们把顺序调一下,像这样:

img{box-shadow:0 0 10px 20px yellow,box-shadow:0 0 10px green;}

css3 box shadow 6 CSS3属性box shadow使用教程

我们将看不到后写的绿色阴影层,因为它先写且半径比较大的黄色层覆盖掉了。

4. 让IE也支持box-shadow

IE本身是shadow滤镜可以实现类似效果的,还有一些js和.htc的hack文件可以帮助你在IE中实现这一效果。我也无法一一都去尝试,这里只介绍我用过的一个。

ie-css3.htc是一个可以让IE浏览器支持部份CSS3属性的htc文件,不只是box-shadow,它还可以让你的IE浏览器支持圆角属性border-radius和文字阴影属性text-shadow。

它的使用方法是:下载它并放到你的服务器目录

在你的<head></head>里面写入下面的代码:

<!--[if IE]>
<style type="text/css">
img, #testdiv, .testbox{behavior: url(http://yourdomain.com/js/ie-css3.htc);}
</style>
<![endif]-->

蓝色部份输入要使用box-shadow属性的选择器,绿色部份输入ie-css3.htc的绝对路径,或相对路径,反正要保证能访问得到。

然后这样就OK了。但还是有几点需要注意的是:

  • 当你使用了这个htc文件后,你的CSS里面,只要写有box-shadow, -moz-box-shadow或-webkit-box-shadow的任何一种,IE就会渲染。
  • 当使用了这个htc文件后,你不能这样写box-shadow: 0 0 10px red; 而应该是box-shadow: 0px 0px 10px red; 否则IE中会失效。
  • 不支持RGBA值中的alpha透明度。
  • 不支持inset内阴影。
  • 不支持阴影扩展。
  • 阴影在IE中只会显示为黑色,不管你设置成其它什么颜色。

所以说,这个脚本了仅仅是让IE支持了部份的box-shadow值。如果你有其它更好的IE hacks脚本,欢迎留言分享。

转载于:https://www.cnblogs.com/xyzhuzhou/archive/2013/04/07/3003897.html

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

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

相关文章

mysql 5.7.13 安装配置方法图文教程(linux)

原文出自&#xff1a;http://www.jb51.net/article/87160.htm 1系统约定 安装文件下载目录&#xff1a;/data/software Mysql目录安装位置&#xff1a;/usr/local/mysql 数据库保存位置&#xff1a;/data/mysql 日志保存位置&#xff1a;/data/log/mysql 2下载mysql 在官网&am…

Linux LVM硬盘管理及LVM扩容

原文出自http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写&#xff0c;它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合&#xff0c;相当于一个大硬盘来使用&…

android系统框架()

Android系统框架介绍: 1.大体框架: -src目录: 主要是完成java代码的编写 -assets目录: 资源目录 -res目录: 存储图片,布局文件和字符串,菜单等文件 -bin目录: 输出文件夹,如生成的APK文件 -project.properties: 工程属性文件配置 -gen目录: 系统自动生成的源代码目录 R.java默认…

Linux(CentOS6.5)下编译安装Nginx1.10.1

原文出自&#xff1a;http://www.cnblogs.com/comexchan/p/5815753.html Linux(CentOS6.5)下编译安装Nginx1.10.1 首先在特权账号&#xff08;root&#xff09;下安装编译时依赖项&#xff1a; yum install gcc gcc-c perl -y 首先以非特权账号&#xff08;本文以账号comex为例…

Zabbix 3.0 基础介绍 [一]

原文出自 http://www.abcdocker.com/abcdocker/1402 Zabbix 3.0 基础介绍 [上] zabbix 一、Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案&#xff0c;可以提供企业级的开源分布式监控解决方案&#xff0c;由一个国外的团队持续维护更新&#xff0c;软件可以…

DOM 节点的创建、删除、替换

只要在屏幕上托三个button按钮就可以了&#xff0c;下面就是程序运行时的界面&#xff1a; <head> <title></title> <script type"text/javascript"> function CreateNode() { var pnode document.createElement(p…

Zabbix 3.0 部署监控 [二]

原文出自 http://www.abcdocker.com/abcdocker/1453 Zabbix 3.0 部署监控 [二] zabbix 一、添加监控主机及设置 1.创建主机 Agent可以干一些SNMP无法干的事情&#xff0c;例如自定义监控项 snmp相关文章&#xff1a;http://www.abcdocker.com/abcdocker/1376 这里我们先不着…

Cobar部署与测试

原文出自 http://www.abcdocker.com/abcdocker/84 Cobar部署与测试 一、Cobar介绍 1.1功能概述&#xff1a; Cobar是关系型数据的分布式处理系统&#xff0c;它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务。 1.1.1 Cobar核心功能&#xff1a; 分布…

深度css:关于浮动(float,clear)的图形化理解

接触CSS以来&#xff0c;有人说浮动始终给人一种神秘的感觉&#xff0c;正因为有了它的一成不变的table布局开始了渐渐被divcss取代&#xff0c;它是控制传说中文本流核心和关键要素&#xff0c;懂得控制“块”的流动和布局即等于控制了网页的排版和布局。今天就以简单图文形式…

amoba读写分离

原文出自 http://www.abcdocker.com/abcdocker/81 1.AMOEBA是什么 Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层&#xff0c;它主要在应用层访问MySQL的 时候充当SQL路由功能&#xff0c;专注于分布…

MySQL事务及字符集介绍

原文 http://www.abcdocker.com/abcdocker/77 事务介绍 简单来说&#xff0c;事务就是指逻辑上的一组SQL语句操作&#xff0c;组成这组操作的各个SQL语句&#xff0c;执行时要么全成功要么全失败。 MySQL5.5支持事务的引擎&#xff1a;Innodb/ndb事务四大特性&#xff08;ACID&…

为了IT人的荣耀,请大力支持《中国人的紧箍咒》!理由如下——

博友们请注意——老孙又出新书了&#xff01; 先前&#xff0c;老孙从技术跨界到管理&#xff0c;出了一本《知道力》&#xff1b;如今又从管理跨界到文化&#xff0c;新出一本文化书《中国人的紧箍咒》。 作为登陆文化新战场的IT第一人&#xff0c;老孙正在诺曼底滩头独自奋战…

MyCat介绍与配置(精)

Mycat 前生今世如果我有一个32核心的服务器&#xff0c;我就可以实现1个亿的数据分片&#xff0c;我有32核心的服务器么&#xff1f;没有&#xff0c;所以我至今无法实现1个亿的数据库分片。---Mycats Plan Mycat 简介Mycat是什么&#xff1f; 从定义和分类来看&#xff0c;它是…

mysql-mmm 集群高可用软件介绍

mysql-mmm 集群高可用软件介绍 MMM即Master-Master Replication Manager for MySQL&#xff08;mysql主主复制管理器&#xff09;关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件&#xff08;在任何时候只有一个节点可以被写入&#xff09;&#xff0c;这个…

高可用MySQL MHA介绍

MySQL MHA介绍 MHA简介 MHA是一位日本MySQL大牛用Perl写一套MySQL故障切换方案&#xff0c;来保证数据库系统的高可用&#xff0c;在宕机的事件内&#xff08;通常10-30秒&#xff09;&#xff0c;完成故障转意&#xff0c;部署MHA&#xff0c;可避免主从一致性问题&#xff0c…

Xtrabackup安装以及应用

Xtrabackup是一个对InnoDB做数据备份的工具&#xff0c;支持在线热备份&#xff08;备份时不影响数据读写&#xff09;&#xff0c;是商业备份工具InnoDB Hotbackup的一个很好的替代品。 xtrabackup官方网址&#xff1a;https://www.percona.com/downloads/XtraBackup/MySQL Ba…

MySQL双主配置

双机热备的概念简单说一下&#xff0c;就是要保持两个数据库的状态自动同步。对任何一个数据库的操作都自动应用到另外一个数据库&#xff0c;始终保持两个数据库数据一致。 这样做的好处多。 1. 可以做灾备&#xff0c;其中一个坏了可以切换到另一个。 2. 可以做负载均衡&…

DSPBuilder笔记

一、位宽设置 在DSPBuilder中&#xff0c;数据在内部采用二进制定点数表示方法&#xff0c;数据可以设置成无符号整数、有符号整数和有符号小数等&#xff0c;其中有符号数由符号位、整数位和小数位组成&#xff08;有符号整数的小数位为0&#xff09;&#xff0c;位宽根据需求…

MySQL主从复制原理、半同步操作步骤及原理

1.1 企业Linux运维场景数据同步方案 1.1.1 文件级别的异机同步方案 1、scp/sftp/nc 命令可以实现远程数据同步。2、搭建ftp/http/svn/nfs 服务器&#xff0c;然后在客户端上也可以把数据同步到服务器。3、搭建samba文件共享服务&#xff0c;然后在客户端上也可以把数据同步到服…

基于.Net 写我自己的Ajax后台框架AjaxFramework

小小目录: 为什么要写自己的Ajax后台框架 框架的简单设计说明 框架如何使用 框架使用效果图 框架的优缺点 框架源码下载1、为什么要写自己的Ajax后台框架 现在Ajax在web应用方面已经用的稀巴烂了&#xff0c;如果你做一个网站没有用到ajax都不好意思拿出手&…