2011-01-21 131 views

回答

119

这在技术上是相同的答案@ChrisJ,对如何使box-shadow听从你的命令更多的一些细节:

参考的*为可选项目

box-shadow: <inset*> <offset-x> <offset-y> <blur-radius*> <spread-radius*> <color*>; 

<spread-radius>需要为负数<blur-radius>(以便其他模糊边不会出现),然后您需要将<offset-y>向下等量:

box-shadow: inset 0 20px 20px -20px #000000; 

它会给你一个横跨元素顶部的单梯度带。

9

盒子阴影在每个方向上偏移给定量的阴影。所以你需要x-offset为0,y-offset为负值。

此外,您必须使用模糊半径和传播半径,以便阴影在左侧和右侧不可见。

实施例:

box-shadow: #777 0px -10px 5px -2px; 

见关于Mozilla Developer Network描述。

+0

不,那是行不通的。偏移量是x和y不是左和右。 – Mark 2011-01-21 08:00:47

+0

我没有这么说:x-offset是水平偏移量; y-offset是垂直偏移量。所以有阴影在顶部,你需要有y偏移量<0 – ChrisJ 2011-01-21 15:10:41

+0

@马克它不工作,如果你知道如何使用<传播半径> – zzzzBov 2011-01-21 20:02:40

0

这是我做的一点小事。

<div id="element"><!--element that I want an one-sided inset shadow from the bottom--></div> 
<div class="one_side_shadow"></div> 
  1. 创建<div class="one_side_shadow"></div>正确的,我想创建所述一个侧框的阴影的元件的下方(在这个情况下,我想为id="element"单侧插入阴影从底部推出)

  2. 然后,我使用负的垂直偏移量将阴影向上推至一侧,从而创建了一个常规盒子阴影。

    box-shadow:0 -8px 20px 2px#DEDEE3;

2

实施例:

box-shadow: 0 2px 0px 0px red inset; 

所述第一参数和第二参数指定阴影到x方向和y方向上的偏移量分别。 第三个参数指定模糊距离。 最后,第四个参数指定传播距离。

仅指定具有所需偏移量的第二个参数可以获得没有侧影的顶部阴影。

演示可以在这里找到:对CSS3盒阴影http://jsfiddle.net/rEdBy/

一个很不错的教程 - http://www.css3.info/preview/box-shadow/

0

也许尝试使用的box-shadow:

box-shadow: h-shadow v-shadow blur spread color inset;

具有溢出-X:

overflow-x: visible|hidden|scroll|auto|no-display|no-content;

使用overflow-x: hidden;box-shadow: 0px 10px 16px -10px #000;

1

这是我的例子请再试一次

-webkit-box-shadow: 0 8px 6px -6px black; 
-moz-box-shadow: 0 8px 6px -6px black; 
box-shadow: 0 8px 6px -6px black;