【问题标题】:Change direction of existing CSS shadow改变现有 CSS 阴影的方向
【发布时间】:2013-12-19 15:02:46
【问题描述】:

我有以下 CSS 阴影:

box-shadow:green 0 1px 3px;

现在,如果我只想改变阴影的方向,我试过了:

box-shadow:inherit 2px 0 inherit;

但不幸的是,这不起作用。此外,看起来没有其他可用属性,例如:

box-shadow-direction:2px 0;

或者

box-shadow-color:inherit;

如何在不改变颜色或强度的情况下改变方向?

【问题讨论】:

标签: css shadow inheritance


【解决方案1】:

盒子阴影的定义如下:x y blur spread color。

所以如果你想移动你的盒子阴影,改变你的 x 和 y。

box-shadow: 10px 10px 5px #000;

此代码创建一个黑盒阴影,该阴影位于距顶部和左侧 10 像素的位置。 (请注意,我不必指定点差金额。)

【讨论】:

  • 好的,但是您再次定义了颜色。我想保留/继承现有的颜色...
  • @SimonFerndriger 我的错,我误解了你的问题。你可能想看看this link。如果没有指定盒子阴影颜色,盒子阴影似乎使用color 属性。因此,您应该可以说color: inherit; 并将父颜色设置为某个值,并且父子框阴影颜色应该相等。希望这会有所帮助。
  • 谢谢。不幸的是,改变主色绝对不是我想做的:)
  • @SimonFerndriger 愚蠢的我——你不必说color: inherit 因为颜色属性是自动继承的......无论如何,你不能使用多个容器吗?您可以只为直接父级设置主要元素的颜色,以更改子级的框阴影颜色。然后,您可以拥有另一个内容元素,它是您将设置为 color: #000 的主元素的子元素。
  • 抱歉太复杂了。不管怎么说,还是要谢谢你。我现在只是习惯了冗余版本。
【解决方案2】:

据我所知,box-shadowtext-shadow CSS3 属性没有像 background-repeatmargin-leftborder-bottom 这样的子属性。更多详情请参考:http://www.w3.org/TR/css3-background/#box-shadow

“box-shadow”属性将一个或多个阴影附加到 盒子。该属性是以逗号分隔的阴影列表,每个都指定 由 2-4 个长度值、一个可选的颜色和一个可选的“插图” 关键词。省略的长度为 0;省略的颜色是 UA 选择的颜色。

在哪里

<shadow> = inset? && [ <length>{2,4} && <color>? ]

因此,在为 HTML 元素定义 box-shadow 之后,您不能将类似 box-shadow-direction:2px 0; 的子属性赋予 HTML 元素,直到它或类似的子属性出现在 CSS 的下一个版本中。

【讨论】:

  • 谢谢。而“继承”(box-shadow:inherit 2px 0 inherit;)方法可能也不能以任何其他方式工作?
  • 第一次继承对于需要继承什么或从哪个继承不起作用?插图或x方向值?颜色也没有从父母那里继承。见jsbin.com/ahOcUmIs/1/edit
猜你喜欢
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 2014-01-02
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多