问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用CSS实现DIV块的阴影效果

发布网友 发布时间:2022-04-06 10:22

我来回答

7个回答

懂视网 时间:2022-04-06 14:43

本篇文章给大家带来的内容是关于如何使用纯CSS实现一只红色的愤怒小鸟(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

4067026235-5b80beb268435_articlex.png

源代码下载

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器中包含 6 个元素,分别代表头、眼睛、眉毛、嘴、冠羽、尾巴:

<div class="red">
 <span class="head"></span>
 <span class="eyes"></span>
 <span class="eyebrows"></span>
 <span class="mouth"></span>
 <span class="hair"></span>
 <span class="tail"></span>
</div>

居中显示:

body {
 margin: 0;
 height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: antiquewhite;
}

设置子元素的共有属性:

.red * {
 position: absolute;
}

.red *::before,
.red *::after {
 content: '';
 position: absolute;
}

定义容器尺寸:

.red {
 width: 12em;
 height: 11em;
 font-size: 16px;
 position: relative;
}

画出头部轮廓,把描边参数定义为变量,是因为后面还会用到:

.red {
 --border: 0.2em solid #6a0306;
}

.head {
 width: inherit;
 height: inherit;
 background-color: #dc002d;
 border-radius: 45% 55% 45% 45% / 55% 60% 40% 45%;
 border: var(--border);
}

用伪元素画出眼睛的轮廓:

.eyes::before,
.eyes::after {
 width: 2.4em;
 height: 2.6em;
 background: white;
 border-radius: 50%;
 border: var(--border);
}

.eyes::before {
 top: 3.7em;
 left: 5.5em;
 z-index: 1;
}

.eyes::after {
 top: 3.8em;
 left: 7.8em;
}

用径向渐变画出眼珠和瞳孔:

.eyes::before,
.eyes::after {
 background: 
 radial-gradient(
  circle at calc(var(--eyeball-left) + 6%) 48%,
  white 0.1em,
  transparent 0.1em
 ),
 radial-gradient(
  circle at var(--eyeball-left) 48%,
  black 0.5em,
  transparent 0.5em
 ),
 white;
}

.eyes::before {
 --eyeball-left: 65%;
}

.eyes::after {
 --eyeball-left: 41%;
}

用伪元素画出眉毛:

.eyebrows::before,
.eyebrows::after {
 height: 1.1em;
 background-color: black;
 top: 3.6em;
 z-index: 2;
}

.eyebrows::before {
 left: 5em;
 transform: skewY(12deg);
 width: 3.4em;
}

.eyebrows::after {
 left: 8.2em;
 transform: skewY(-15deg);
 width: 3.1em;
}

画出嘴的轮廓:

.mouth {
 width: 2.8em;
 height: 2.8em;
 background-color: #fca90d;
 top: 6em;
 left: 7em;
 z-index: 3;
 border-radius: 20% 0 20% 10%;
 transform: rotate(34deg) skewX(-15deg);
 border: 0.1em solid black;
}

用伪元素画出上下颌的分界线:

.mouth::before {
 width: 3.4em;
 height: 4em;
 border: 0.2em solid;
 top: -1.6em;
 left: -1.8em;
 border-radius: 0 0 40% 0;
 transform: rotate(42deg);
 border-color: transparent black transparent transparent;
}

画出冠羽的左侧:

.hair {
 width: 1.2em;
 height: 3em;
 background-color: #dc002d;
 border-radius: 50%;
 border: var(--border);
 top: -1.8em;
 left: 2.8em;
 transform: rotate(-70deg);
 border-bottom-color: transparent;
}

用伪元素画出冠羽的右侧:

.hair::before {
 width: inherit;
 height: inherit;
 background-color: inherit;
 border-radius: inherit;
 border: inherit;
 top: 1em;
 left: 0.8em;
 transform: rotate(20deg);
}

用伪元素把冠羽多余的搭边线遮盖住:

.hair::after {
 width: 3em;
 height: 2em;
 background-color: #dc002d;
 border-radius: 50%;
 top: 2.3em;
 left: -1.5em;
 transform: rotate(70deg);
}

画出尾巴中最长的一根羽毛:

.tail {
 width: 3em;
 height: 1em;
 background-color: black;
 top: 40%;
 left: -1.8em;
 z-index: -1;
 transform: rotate(15deg);
}

用伪元素画出尾巴中较短的两根羽毛:

.tail::before,
.tail::after {
 width: inherit;
 height: 70%;
 background-color: black;
 left: 0.6em;
}

.tail::before {
 transform: rotate(25deg);
 top: -0.4em;
}

.tail::after {
 transform: rotate(-20deg);
 top: 0.8em;
}

用伪元素画出胸前的羽毛:

.head {
 overflow: hidden;
}

.head::before {
 width: inherit;
 height: inherit;
 background-color: #e3c4ab;
 border-radius: inherit;
 top: 65%;
 left: 25%;
}

接下来画阴影,增强立体感。

为头部增加阴影:

.head {
 box-shadow: 
 inset 0.5em -0.5em 0.3em 0.2em rgba(0, 0, 0, 0.2),
 inset -1em 0.8em 1.5em -0.5em rgba(237, 178, 144, 0.7);
}

为眼睛增加阴影:

.eyes::before {
 box-shadow: -0.2em 0.2em 0.2em 0.3em rgba(0, 0, 0, 0.2);
}

.eyes::after {
 box-shadow: 0.2em 0.2em 0.4em 0.3em rgba(0, 0, 0, 0.1);
}

为嘴增加阴影:

.mouth {
 box-shadow: 
 inset 0.2em -0.4em 1em rgba(0, 0, 0, 0.4),
 inset 0 0.5em 0.5em rgba(255, 255, 255, 0.3);
}

大功告成!

相关推荐:

如何使用纯css实现赛车的loader动画效果(附代码)

如何使用纯CSS实现冰棍的动画效果(附代码)

热心网友 时间:2022-04-06 11:51

可以用CSS3. 不过要支持IE6的话,加载个 .htc 行为文件就好了。 什么圆角,什么阴影。全都小ks, 要的话可以M我。我写给你。 

border: 1px solid #696;padding: 60px 0;text-align: center; width: 200px;

-webkit-border-radius: 8px;

-moz-border-radius: 8px;

border-radius: 8px;

-webkit-box-shadow: #666 0px 0px 10px;

-moz-box-shadow: #666 0px 0px 10px;

box-shadow: #666 0px 0px 10px;background: #EEFF99;behavior: url(/PIE.htc);

热心网友 时间:2022-04-06 13:09

可以用CSS3的阴影属性。 不过要支持IE6的话,加载个 .htc 行为文件就好了。border: 1px solid #696;padding: 60px 0;text-align: center; width: 200px;-webkit-box-shadow: #666 0px 0px 10px;-moz-box-shadow: #666 0px 0px 10px;box-shadow: #666 0px 0px 10px;background: #EEFF99;behavior: url(/PIE.htc)。
直接使用box-shadow:5px 5px 10px black inset;属性设置样式样式就可以了。前两个值(5px 5px)是水平和垂直方向的偏移量,正值阴影就会向左向下偏移,负值反之;第三个值(10px)是设置模糊距离;black就是阴影的颜色啦;最后一个inset是在元素内部创建一个阴影,也就是内阴影了;删除掉inset就是设置外阴影了。
这是使用纯CSS实现的效果,在DIV层的区域边框添加阴影效果,看上去非常形象,但是实现起来并不是太难,CSS代码比较简洁,值得我们学习。<title>盒子阴影的CSS实现方法</title>

热心网友 时间:2022-04-06 14:44

border: 1px solid #696;padding: 60px 0;text-align: center; width: 200px;

-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
-webkit-box-shadow: #666 0px 0px 10px;
-moz-box-shadow: #666 0px 0px 10px;
box-shadow: #666 0px 0px 10px;background: #EEFF99;behavior: url(/PIE.htc);
这是使用纯CSS实现的效果,在DIV层的区域边框添加阴影效果,看上去非常形象,但是实现起来并不是太难,CSS代码比较简洁,值得我们学习。
<title>盒子阴影的CSS实现方法</title>
<style>
.baseBlock{
width:220px;
position:relative;
}
.baseBlockIn{
padding:10px 15px;
background:#a0b3d6;
box-shadow:10px 10px 5px #444;
-moz-box-shadow:10px 10px 5px #444;
-webkit-box-shadow:10px 10px 5px #444;
position:relative;
z-index:1;
}
.ieShadow{
_width:215px;
_height:160px;
filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=6);
-ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=6)";
background-color:#444\9;
position:absolute;
left:5px;
top:5px;
right:-5px;
bottom:-5px;
}
</style>
<div class="baseBlock">
<div class="baseBlockIn">

热心网友 时间:2022-04-06 16:35

阴影效果如果不用过滤器的话,那就是用图片做出来的

热心网友 时间:2022-04-06 18:43

我也想知道。

热心网友 时间:2022-04-06 21:08

i6不支持那个属性啊
用背景图吧
怎样在div里面设置阴影效果?

要在HTML的&lt;div&gt;元素中添加阴影效果,你可以使用CSS的box-shadow属性。box-shadow属性使你能够在元素周围创建一个或多个阴影效果。以下是一些示例代码,演示如何使用box-shadow属性来添加阴影效果:在上面的示例中,我们创建了两个&lt;div&gt;元素,一个具有外阴影效果,另一个具有内阴影效果。下面是box-shadow...

div如何设置阴影?

1、首先新建一个html文件,命名为test.html,使用div标签创建一个模块,用于测试。如下图所示。2、在test.html文件内,给div添加一个class属性,属性值设置为myway。3、然后在css标签内,通过class设置div的样式,定义它的宽度为200px,高度为200px,背景颜色为黑色。4、接着在css标签内,再使用box-sh...

CSS 如何实现让div的四个边框都有阴影的效果?

首先:HTML代码 &lt;h1&gt;CSS 如何实现让div的四个边框都有阴影的效果?&lt;/h1&gt; &lt;div class="g1"&gt; &lt;div class="g2"&gt;&lt;/div&gt; &lt;/div&gt; CSS代码body{background:#f00;} html{background:#f00;}/*html加背景色*/ .g1{ width:500px;height:500px;border:2px solid #fff;margin:30px auto;back...

css怎么设置阴影效果css怎么设置阴影效果图

首先打开SublimeText软件,新建一个HTML文档,如下图所示。然后在html文档的正文区域插入一个div,如下图所示。接下来,为div定义一些样式。请注意,其中的框阴影定义了边框阴影,如下图所示。最后,我们运行界面程序,你会看到边框已经被阴影化了,如下图所示。HTML表格阴影怎么设置?可以用css3的box-shad...

CSS 如何实现让div的1个边框有阴影的效果

首先2px : 表示水平阴影的位置,然后4px : 表示垂直阴影的位置,接着5px : 表示模糊距离,最后#000 : 表示阴影的颜色(#000 黑色) 拓展资料: 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态...

div块的阴影是在图片上做效果还是用CSS滤镜

div的阴影可以直接用css控制出来,不是滤镜,只要将外层和内层的div的position:relative,然后将内层div的left:-8px你就可以看到阴影了

css怎么设置阴影css怎么设置阴影效果

1,修改生成的html和css代码。2,将需要有阴影的地方在ps、ppt中生成后存为图片放进来。html怎么给表格加阴影?可以用css3的box-shadow属性。举个例子table{box-shadow:10px10px5px#888888;//(水平阴影的位置垂直阴影的位置模糊距离阴影的颜色)}注意兼容性~他还可以进行叠加,产出更加惊艳的效果~~

CSS 一个DIV有四条边,怎么让只有下面一条边有阴影?

1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的&lt;style&gt;标签中,输入css代码:div{width: 250px;height: 100px;border: 5px solid blue;box-shadow: 0px 20px 20px -20px #5E5E5E;} 3、浏览器运行index.html页面,此时只有div底部的边有阴影效果。

hbuilder那个属性可以为div元素添加阴影边框

方法1:使用Box-shadow属性 Box-shadow属性可以向框添加一个或多个阴影。语法:Box-shadow: h-shadow v-shadow blur spread color inset;属性值:● h-shadow:必需设置的值,定义水平阴影的位置。允许负值。● v-shadow:必需设置的值,定义垂直阴影的位置。允许负值。● blur:可选设置的值,定义...

怎么才能用css让某个元素只在一个方向有阴影

可以通过设置偏移度来尽量让看上去 只有一个方向有阴影;box-shadow: 0px 15px 0px #000;像这段代码,就只有下面这个方向有阴影;第一个参数调整左右的阴影偏移 第二个参数调整上下的阴影偏移 第三个参数调整羽化半径 第三个是颜色

ppt如何设置阴影效果 取得效果还是实现效果 阴影效果 添加阴影效果 阴影效果怎么设置 ps做阴影效果 ppt阴影效果 word阴影效果 ps中怎样阴影效果
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...交流网站一尘网,我在注册的时候按照步奏填写就是不能成功... 出道益智题,大家思考答案。 苏州十大公司团队游好去处 苏州团体旅游哪里好 苏州集体玩的地方 肛瘘手术前要清肠吗 Word变2页了? 人在临死前会有什么征兆吗 人在临死前有哪些征兆? ...语音或QQ语音等语音类软件经常错乱,无法听语音怎么回事? 为什么微信语音时麦克风不可用? 家中老人如果出现这3个行为,说明他即将离去,儿女要做好准备 京东商城手机验证 用另一个手机登录京东为什么会显示手机验证短信加重置密码? 京东安全验证说手机号已被占用该怎么办? 如何取消京东商城的验证手机号码? 京东金融绑定手机号可以用验证邵直接登录吗 求七年级下晋教版地理复习提纲!速度了马上考试啊 七年级下册地理学习计划 七年级地理人教版和晋教版差别大吗 用晋教版的书可以用人教版的全解 七年级地理下册有几章,最后一课是什么? 山西教育出版社的七年级下地理复习资料(有悬赏!!) 山西的七年级地理(下)复习提纲 初一阶段地理如何复习(晋教版) 七年级下册地理 初一地理复习提纲下册(晋教版) 晋教版七年级地理教学下册第一章教学反思 山西教育出版社七年级地理下册 谁有初一晋教版下地理复习资料 七年级下册地理复习提纲 晋教版 初中地理各个版本教材电子书 尤其是大象版和晋教版,急需呀 眉毛眉型不好我把眉毛后面都刮掉了,然后用眉笔画眉毛为什么后面涂不上去 手机qq空间进不去显示主人设置了访问权限? ps制作艺术字问题,高分求详细步骤! 徐立平的事例简介200字 求制作大个不倒翁的办法。 谁教我做一个大的不倒翁!关于是底座不知道怎么弄,椭圆可以吗? 不倒翁为什么不倒?不倒翁的原理是什么?怎样理解? 不倒翁的代表图案是什么? 不倒翁的原理是什么? 不倒翁是怎么回事? 不倒翁的特征 梦见削两锅刀削面 梦见我在和面,准备做刀削面,可是面越来越软,不能削,我又往里面加面粉... 不倒翁不会倒,它是如何做到的? 梦见自己活面削刀削面压河漏 大雁塔竟为什么是个不倒翁? 不倒翁不倒的两大原因 制作不倒翁 梦见别人送刀削面给我 一部电影,一个大脑袋,不倒翁。好像是日本的 为什么不倒翁倒不了?