box-shadow 是css3中定义的设置元素阴影的属性,其语法结构如下:

 <shadow> = inset? && <length>{2,4} && <color>?

1st <length>为水平位置的偏移 必选

2nd <length>为竖直方向偏移 必选

3rd <length>为模糊化的指数 可选

4th<length> 为模糊的扩散距离 可选

inset 表示十分位内部偏移 可选

color 为阴影的颜色

但是如果我们想要给图片设置内部偏移的阴影时,就会导致我们设置的阴影被图片给挡住。

为了解决这个问题,我们可以通过设置和图片一样大小的遮罩的方式进行解决:

.img-box-shadow{
        position: absolute;
        width: 100%;
        height: 100%;
        box-shadow:  0px 0px 30px 10px gray inset;
        -moz-box-shadow:  0px 0px 30px 10px gray inset;
        -webkit-box-shadow:  0px 0px 30px 10px gray inset;
}

该元素是定位到父级元素内的,所以要给父级元素设定 position:relative;

当然既然我们使用了css3的样式,我也可以通过给父级元素直接添加伪类元素的方式进行修改,而且减少了dom元素的使用,使得样式和内容进行了分离,也正是伪类元素真正被引入的目的:

.img-wrapper{
   position:relative;
}

.img-wrapper:before{
   position:abosolute;
   width:100%;
   height:100%;
   box-shadow:  0px 0px 30px 10px gray inset;
   -moz-box-shadow:  0px 0px 30px 10px gray inset;
   -webkit-box-shadow:  0px 0px 30px 10px gray inset;
}

网上还有通过js的方式,将img替换为div,图片修改为背景的方式,实现图片的内部阴影效果的实现。这里我们不进行推荐,因为你要使用box-shadow的话,浏览器必须支持css3属性,使用能够使用css3的话,我们没有必要再将我们的样式效果交给js进行处理,这样大大违背了css3将页面元素、样式和逻辑相互分离的目的。

最新文章

  1. 洛谷U4859matrix[单调栈]
  2. highcharts 不显示X轴 Y轴 刻度
  3. Android开发学习笔记--给一个按钮定义事件
  4. Appium根据xpath获取控件
  5. Redis入门(一)系统安装
  6. Swift 函数
  7. Nginx技巧:灵活的server_name,Nginx配置一个服务器多个站点 和 一个站点多个二级域名
  8. 创建featureclass,为它赋别名,并移动到数据集下
  9. 【转】265行JavaScript代码的第一人称3D H5游戏Demo
  10. cobbler客户端重装系统
  11. Office 2010简体中文正式版完美终身破解版免费下载
  12. Archlinux 的U盘自动装载(三)udevil
  13. python 读取本地文件批量插入mysql
  14. Android艺术开发探索第三章——View的事件体系(上)
  15. 01-Git简介和仓库创建
  16. LoadXml 加载XML时,报错:“根级别上的数据无效。 行1,位置1“
  17. AI之旅(4):初识逻辑回归
  18. Maven 的41种骨架功能介绍(转)
  19. Python写代码的时候为什么要注释?Sun因此被Oracle收购
  20. 深入理解HashMap+ConcurrentHashMap的扩容策略

热门文章

  1. ASP.NET,Razor语句中@符号的意义
  2. [原创]Windows下Google V8 javascript引擎编译
  3. Marineking wilyin
  4. arm str 指令
  5. pom文件详解
  6. python交换两个变量的值,一句代码搞定
  7. 一个Java项目的学习
  8. SQL Server 内存压力解决方案
  9. SQL Server 阻塞排除的 2 方法
  10. A Survey of Dynamic Spectrum Access