1 原理 利用border-radius实现一个圆弧边的矩形,并添加box-shadow,然后放在目标元素的下方

demo:

html

<div class="demo1"></div>

css

    .demo1{
width: 500px;
height: 200px;
margin: 30px auto;
position: relative;
background-color: #fff;
box-shadow: 0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
-webkit-box-shadow:0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
-moz-box-shadow:0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
-o-box-shadow:0px 0px 3px rgba(0,0,0,0.3),0px 0px 3px rgba(0,0,0,0.2) inset;
}
.demo1:after,.demo1:before{
position: absolute;
content: '';
top: 50%;
bottom: 0px;
left: 10px;
right: 10px;
z-index: -1;
border-radius: 100px/10px;
box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
-webkit-box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
-moz-box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
-o-box-shadow: 0px 0px 20px rgba(0,0,0,0.6);
}

元素的before after伪元素重贴在一起,加深阴影效果,border-radius:100px/10px;表示水平半径是100px,垂直半径是10px

,border-radius的完整写法:border-radius:100px 100px 100px 100px/10px 10px 10px 10px;“/”前的四个数值表示圆角的水平半径,后面四个值表示圆角的垂直半径

demo2:

.demo2{
width: 480px;
height: 150px;
margin: 30px auto;
background-color: red;
border-radius: 100px/10px;
}

效果:

实心半圆:

.demo3{
height: 100px;
width: 50px;
margin: 30px auto;
background-color: red;
border-radius: 0px 50px 50px 0;
}

效果

翘边阴影

html

<div class="demo10">
<ul>
<li><img src="data:images/1.jpg"></li>
<li><img src="data:images/1.jpg"></li>
<li><img src="data:images/1.jpg"></li>
</ul>
</div>

css

.demo10{
width: 1030px;
}
ul:after{
display: block;
content: '';
clear: both;
}
ul li{
float: left;
}
.demo10 ul li{
padding: 10px;
border:1px solid #eee;
margin-right: 20px;
background-color: #fff;
box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
-webkit-box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
-moz-box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
-o-box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;
position: relative; }
.demo10 ul li:after{
position: absolute;
content: "";
width: 90%;
left: 15px;
height: 70%;
bottom: 12px;
z-index: -1;
background-color: transparent;
box-shadow: 0px 0px 25px rgba(0,0,0,.5);
-webkit-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
-moz-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
-o-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
transform:rotate(-5deg) translate(-10px,0);
-webkit-transform:rotate(-5deg) translate(-10px,0);
-moz-transform:rotate(-5deg) translate(-10px,0);
-o-transform:rotate(-5deg) translate(-10px,0);
}
.demo10 ul li:before{
position: absolute;
content: "";
width: 90%;
right: 15px;
height: 70%;
bottom: 12px;
z-index: -1;
background-color: transparent;
box-shadow: 0px 0px 25px rgba(0,0,0,.5);
-webkit-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
-moz-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
-o-box-shadow: 0px 0px 25px rgba(0,0,0,.5);
transform:rotate(-5deg) translate(-10px,0);
-webkit-transform:rotate(5deg) translate(10px,0);
-moz-transform:rotate(5deg) translate(10px,0);
-o-transform:rotate(5deg) translate(10px,0);
}
.demo10 ul li img{
width: 300px;
height: 200px;
}

效果:

border-radius实现圆弧阴影效果的更多相关文章

  1. Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

    1.Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统: Quart2D的API是纯C语言的,API来自于Core  Graphics框架: 2.Quartz 2D可以绘制图形(线段/三 ...

  2. iOS 2D绘图 (Quartz2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)

    博客原地址:http://blog.csdn.net/hello_hwc?viewmode=list 让我们继续跟着大神的脚步前进吧.这一次 我们学习一些Quartz 2D 最基本的一些用法. 前言: ...

  3. 重温CSS:Border属性

    边界是众所周知的,有什么新的东西吗?好吧,我敢打赌,在这篇文章中,有很多你不看永远不知道的东西! 不仅可以用CSS3来创建圆角,使用原有CSS一样可以显示自定义图形.这是正确的(有待考究):在过去,没 ...

  4. iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)

    前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...

  5. [css]需警惕CSS3属性的书写顺序

    转载张鑫旭:http://www.zhangxinxu.com/wordpress/2010/09/%E9%9C%80%E8%AD%A6%E6%83%95css3%E5%B1%9E%E6%80%A7% ...

  6. CSS3 基本知识

    1.CSS3 简介 CSS 指层叠样式表 (Cascading Style Sheets),用于控制网页的样式和布局,CSS3 是最新的 CSS 标准. 在网页制作时采用层叠样式表,可以有效的对页面的 ...

  7. 转:前端集锦:十款精心挑选的在线 CSS3 代码生成工具

    今天这篇文章向大家推荐十款非常有用的在线 CSS3 代码生成工具,这些工具能够帮助你方便的生成 CSS3 特效.CSS3 是对 CSS 规范的改善和增强,增加了圆角.旋转.阴影.渐变和动画等众多强大的 ...

  8. css3前端工具

    随着CSS3的出现,CSS3讨论的话题越来越多了,现在各种教程也是多如牛毛,不比一年前的时候,找个资料要捞遍整个互联网,而且还很难找到自己需要的参考资料.从侧面也说明,CSS3对于前端工程师来说,越来 ...

  9. css3工具

    随着CSS3的出现,CSS3讨论的话题越来越多了,现在各种教程也是多如牛毛,不比一年前的时候,找个资料要捞遍整个互联网,而且还很难找到自己需要的参考资料.从侧面也说明,CSS3对于前端工程师来说,越来 ...

随机推荐

  1. poj1206(dp)

    题目链接:http://poj.org/problem?id=1260 Pearls Time Limit: 1000MS   Memory Limit: 10000K Total Submissio ...

  2. mnesia的脏读和事物读的测试

    在mnesia中,有脏读脏写等以及事物读写,它们的差异通过测试不难发现: 代码如下: -module(mnesia_read_test). -compile(export_all). -record( ...

  3. MongoDB--安装部署

    MongoDB安装 说明: 本次安装教程: 版本:mongoDB-3.2.4 安装环境:windows 10 ,64位操作系统 准备:安装包.Robomongo(客户端用于查看mongoDB里面的数据 ...

  4. 在WPF对话框中如何验证用户提供的数据

    在WPF中,MS在msdn的WPF应用程序开发中对用户输入的数据验证做了示范,基本思想就是添加各种类型的校验规则,比如最大最小值.字符串长度.是否为空等等,在后在界面绑定数据时添加数据字段的校验.这样 ...

  5. C#泛型<T>说明

    泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型.泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用. C#泛型的作用概述 C#泛型赋予了代码更强的类型安全,更 ...

  6. 软件测试人员需要精通的开发语言(5)--- Python

    Python语言,也算是后起之秀,多平台的应用也让它成为万能的脚本语言,应用于各种架构各种工具,得到广泛应用.而且如今比较火热的行业,软件爬虫,多半是用Python开发的.因为Python是一种开放源 ...

  7. 【BZOJ4999】This Problem Is Too Simple! 离线+树状数组+LCA

    [BZOJ4999]This Problem Is Too Simple! Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2 ...

  8. EasyPlayerPro(Windows)流媒体播放器开发之跨语言调用

    下面我们来讲解一下关于EasyPlayerPro接口的调用,主要分为C++和C#两种语言,C++也可以基于VC和QT进行开发,C++以VC MFC框架为例进行讲解,C#以Winform框架为例进行讲解 ...

  9. 源码编译mysql 5.5+ 安装过程全记录

    前言:从mysql 5.5版本开始,mysql源码安装开始使用cmake了,编译安装跟以前的版本有点不一样了. 一,安装步骤: 1.安装前准备工作 a.下载mysql源代码包,到mysql下载页面选择 ...

  10. AWS:5.公有云编程

    主要内容 1.AWS接口 2.使用AWS命令行 3.使用python sdk编程 AWS接口 Console:web控制台 登录amazon后在"我的账户" -> AWS管理 ...