Better Box Shadows (CSS)

栏目: IT技术 · 发布时间: 4年前

内容简介:Box shadow onLet’s take a look at a default configuration ofIn the example above the first property number is the origin of the

Box shadow on HTML elements has been widely supported across most browsers for a while now, but I find the default options don’t allow for much visual manipulation of the shadows in general.

Let’s take a look at a default configuration of box-shadow :

.box-container {
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

In the example above the first property number is the origin of the x-axis , the second number is the origin of the y-axis and the third is the amount of blur .

We should also add some minimal styling to cleanup the .box-container a little bit for our example:

<div></div>
.box-container {
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);

  /* Styles to make it less ugly */
  background: white;
  border-radius: 10px;
  border: 1px solid #eee;
  height: 200px;
  padding: 10px;
  position: relative;
  width: 250px;
}

Which would render as this:

Not bad – but we can do a lot better than this.

Please sir, I want some more (depth)

We just need to add a simple child div (or use a pseudo element if you prefer) inside our main element we want to apply the shadow to:

<div>
  <div></div>
</div>

Now we make our inner child element absolute and set it’s height and width dynamically to be slightly smaller than it’s parent (percentages work best for this). Remember to set this child element behind it’s parent by adding z-index: -1 .

.box-container {
  /* No box-shadow needed on this element anymore */
  /* Styles to make it less ugly */
  background: white;
  border-radius: 10px;
  border: 1px solid #eee;
  height: 200px;
  padding: 10px;
  position: relative;
  width: 250px;
}

.box-container-inner {
  bottom: 0;
  /* The box-shadow is added here now */
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  height: 94%;
  left: 3%;
  position: absolute;
  width: 94%;
  z-index: -1;
}

Which will make the drop-shadow render with a little more realistic depth:

But wait – there’s more!

We could stop now and have a decent drop-shadow that is certainly easier on the eyes – but we can make this even better with one extra property – filter:blur(); .

So your final code would look like this:

.box-container {
  /* Styles to make it less ugly */
  background: white;
  border-radius: 10px;
  border: 1px solid #eee;
  height: 200px;
  padding: 10px;
  position: relative;
  width: 250px;
}

.box-container-inner {
  bottom: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  filter: blur(6px);
  height: 94%;
  left: 3%;
  position: absolute;
  width: 94%;
  z-index: -1;
}

Which renders out into a much smoother blend of a drop-shadow, creating a more realistic illusion of depth:

Comments

No comments (yet)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件架构设计

软件架构设计

温昱 / 电子工业出版社 / 2012-7 / 39.00元

《软件架构设计:程序员向架构师转型必备(第2版)》围绕“软件架构设计”主题,从“程序员”成长的视角,深入浅出地讲述了架构师的修炼之道。从“基础篇”、到“设计过程篇”、到“模块划分专题”,《软件架构设计:程序员向架构师转型必备(第2版)》覆盖了架构设计的关键技能项,并且对于架构设计过程中可能出现的各种问题给与了解答。一起来看看 《软件架构设计》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具