简述

网页上经常会出现一些弧形的阴影效果,看起来很漂亮,下面我们来讲述下如何用CSS来实现一个弧形阴影。

阴影

效果

首先实现一个简单的阴影效果

<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
div {
background: green;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
border-radius: 150px/10px;
height: 20px;
width: 400px;
z-index: -1;
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>

注释

box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5)

表示一个带外阴影的元素,阴影位置x轴偏移0,y轴偏移4px,模糊范围10px,阴影颜色rgba(0, 0, 0, 0.5)

border-radius: 150px/10px

表示水平方向的半径和垂直方向的半径分别为150px、10px

z-index: -1

z-index属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

拥有更低的优先级,可用于将在一个元素放置于另一元素之后。

注释:z-index 仅能在定位元素上奏效(例如 position:absolute;)!

标题

效果

源码

设置背景色、字体、位置、行高等。下边框为蓝色部分可以暂时忽略,后面我们需要进行阴影显示用的。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type='text/css'>
body {
/* 外边距:24像素 */
margin: 24px;
} h1 {
/* 背景色 */
background: #139573;
/* 下边框:高4像素 实线 蓝色 */
border-bottom: 4px solid blue;
/* 文本色:白色 */
color: #fff;
/* 字体风格 */
font-family: sans-serif;
/* 字体大小:24像素 */
font-size: 24px;
/* 文本粗细:正常 */
font-weight: normal;
/* 行高:80像素 */
line-height: 80px;
margin: 0;
/* 文本位置:相对定位 */
position: relative;
/* 文本对齐方式:居中 */
text-align: center;
} h1 strong {
font-weight: bold;
} </style>
</head>
<body>
<h1>
<strong>弧形阴影</strong> - 这是一个简单的弧形阴影
</h1>
</body>
</html>

合并

效果

源码

这里我们将阴影的背景变为透明色,然后设置位置和大小来实现我们的效果。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type='text/css'>
body {
margin: 24px;
} h1 {
background: #139573;
border-bottom: 4px solid #fff;
color: #fff;
font-family: sans-serif;
font-size: 24px;
font-weight: normal;
line-height: 80px;
margin: 0;
position: relative;
text-align: center;
} h1 strong {
font-weight: bold;
} h1::before {
background: transparent;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
border-radius: 800px/10px;
bottom: -2px;
content: "";
height: 8px;
left: 2%;
position: absolute;
width: 96%;
z-index: -1;
} </style>
</head>
<body>
<h1>
<strong>弧形阴影</strong> - 这是一个简单的弧形阴影
</h1>
</body>
</html>

CSS中存在两个伪类:before 和 :after,它们特有的属性content ,用于在 CSS 渲染中向元素逻辑上的头部或尾部添加内容。注意这些添加不会改变文档内容,不会出现在 DOM 中,不可复制,仅仅是在 CSS 渲染层加入。

所以,我们只需要配合position: absolute ,就可以将其当成容器,拼合成弧形阴影效果。

CSS之弧形阴影的更多相关文章

  1. css之单边阴影

    css之单边阴影 需求:在网上找的其他博客上说单边阴影需要牺牲掉模糊,实际上牺牲掉模糊直接用border不就好了 效果: 原理: 1.在左边的外阴影就是右边的内阴影 2.将box-shadow写在be ...

  2. css实现动态阴影、蚀刻文本、渐变文本

    css实现动态阴影 创建与类似的阴影box-shadow 而是基于元素本身的颜色. 代码实现: <div class="dynamic-shadow-parent"> ...

  3. css border 三角形阴影(不规则图形阴影) & 多重边框的制作

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! border 的组合写法 border:border-width border-style border- ...

  4. 酷炫,用Html5/CSS实现文字阴影

    前两天有一个学html5前端小美女问我一个有关文字阴影的效果怎么去实现.她和我说文字阴影嘛,她也知道text-shadow,.但是却做不出想要的样子,其实css3的新功能是很强大的,不要把你的思想太过 ...

  5. CSS实现文字阴影的效果

    CSS中有两种阴影效果,一种是DropShadow(投影),另一种是Shadow(阴影).1.DropShadow语法:{FILTER:DropShadow(Color=color,OffX=offX ...

  6. css设置边框阴影;box-shadow的使用

    html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  7. css生成彩色阴影

    通常用css生成单色或者同色系的的阴影(box-shadow),其实可以通过巧妙的利用 filter: blur 模糊滤镜,可以生成渐变色或者说是颜色丰富的阴影效果,如图: 原理: 利用伪元素,生成一 ...

  8. CSS 页面顶部阴影和给浏览器强制加上滚动条

    /*给浏览器强制加上滚动条*/ html{height: 101%;} /*页面顶部阴影*/ body:before{ content: ""; position: fixed; ...

  9. css box-shadow添加阴影

    基础说明:     外阴影:box-shadow: X轴  Y轴  Rpx  color;     属性说明(顺序依次对应): 阴影的X轴(可以使用负值)    阴影的Y轴(可以使用负值)    阴影 ...

随机推荐

  1. javascript实现数据结构与算法系列:栈 -- 顺序存储表示和链式表示及示例

    栈(Stack)是限定仅在表尾进行插入或删除操作的线性表.表尾为栈顶(top),表头为栈底(bottom),不含元素的空表为空栈. 栈又称为后进先出(last in first out)的线性表. 堆 ...

  2. 【面试题043】n个骰子的点数

    [面试题043]n个骰子的点数 题目:     把n个骰子扔在地上,所有骰子朝上一面的点数之和为s, 输入n,打印出s的所有可能的值出现的概率.   n个骰子的总点数,最小为n,最大为6n,根据排列组 ...

  3. POJ 2039

    #include<iostream> #include<stdio.h> #include<string> #define MAXN 20 using namesp ...

  4. 虚拟专用网络VPN

    寒假回到家里需要下载论文,怎样才能访问学校图书馆的数据库呢?解决方法是学校图书馆在内网中架设一台VPN服务器,VPN服务器有两块网卡,一块连接内网,一块连接公网.然后就可以通过互联网找到VPN服务器, ...

  5. Nginx状态监控

    通过配置nginx.conf文件来实现对Nginx状态信息的监控. 1.配置nginx.conf vim /usr/local/nginx/conf/nginx.conf 再server块配置项中添加 ...

  6. eclipse加速

    eclipse老是building workspace及自动更新问题,eclipse加速 最近用Eclipse开发oPhone的一个项目,每次打开Eclipse的时候,总是在build workspa ...

  7. 【hdu3065-病毒侵袭持续中】AC自动机

    题意:给定一些只含大写字母的病毒串,再给一个文本串,问文本串中每个病毒串各出现了多少次. 题解: 就是用AC自动机,在每个节点末尾有个id记录是哪个单词的末尾,然后如果同时是多个单词的末尾就用一个ne ...

  8. RHadoop计算平台搭建

     原创文章,转载请注明: 转载自www.cnblogs.com/tovin/p/3824554.html 本文基于CentOS6.4系统介绍基于RHadoop平台的搭建,Hadoop的搭建可以参考ht ...

  9. iOS 应用内付费(IAP)开发步骤

    折腾好几天,原来是税务信息没有填写,哎...  国内就是好啊,没有这些麻烦的事情...  :) 等24小时,等税务的审核结果...     有结论了 才能测试内购.... 如果税务信息没有填写完毕,p ...

  10. 关于JavaScript的思考

    像apply这种函数,只有动态语言才能完成,动态语言既编译器/解释器这类代码生成器完成自己职责时只能在运行时完成,例如函数参数的压栈.仔细想想可能不对,也可以通过编译来完成 apply和call的使用 ...